Skip to content
On this page

前后中序的递归写法

递归

  1. 确定递归函数的参数和返回值
  2. 确定终止条件
  3. 确定单层递归的逻辑

前序遍历

js
var preorderTraversal = function(root) {
    let arr = []
    digui(root,arr)
    return arr
};

var digui = function(root,arr){
    if(root===null) return
    arr.push(root.val)			//前
    digui(root.left,arr)
    digui(root.right,arr)
}

中序遍历

js
var postorderTraversal = function(root) {
     let arr = []
    digui(root,arr)
    return arr
};

var digui = function(root,arr){
    if(root===null) return
    digui(root.left,arr)	
    arr.push(root.val)			//中
    digui(root.right,arr)
}

后序遍历

js
var postorderTraversal = function(root) {
     let arr = []
    digui(root,arr)
    return arr
};

var digui = function(root,arr){
    if(root===null) return
    digui(root.left,arr)
    digui(root.right,arr)
    arr.push(root.val)			//后
}