1广度优先遍历
var levelOrder = function (root) {
if (!root) {
return []
}
let queue = [root]
let res = []
while (queue.length > 0) {
let subArr = []
let length = queue.length
for (let i = 0
let pop = queue.shift()
subArr.push(pop.val)
if (pop.left) queue.push(pop.left)
if (pop.right) queue.push(pop.right)
}
res.push(subArr)
}
return res
}
2中序遍历
var inorderTraversal = function(root) {
let result=[]
const rescruion=function(root){
if(root==null){
return null
}
rescruion(root.left)
result.push(root.val)
rescruion(root.right)
}
rescruion(root)
return result
};
3深度优先遍历
var inorderTraversal = function(root) {
let result=[]
let stack=[root]
while(stack.length!=0){
let pop=stack.pop()
result.push(pop.val)
if(pop.right){
stack.push(pop.right)
}
if(pop.left){
stack.push(pop.left)
}
}
return result
};