题目:
前序遍历:
中序遍历:
后序遍历:
解题思路与答案
前序遍历:先访问根节点---->左子节点----->最后访问右子节点
中序遍历:先访问左子节点---->根节点----->最后访问右子节点
后序遍历:先访问左子节点---->右子节点----->根节点
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {number[]}
*/
//前序遍历
var preorderTraversal = function(root) {
let res = [];
function traversal(tree){
if(!tree) return [];
res.push(tree.val);
traversal(tree.left);
traversal(tree.right);
}
traversal(root);
return res;
};
//中序遍历 替换18-20为
traversal(tree.left);
res.push(tree.val);
traversal(tree.right);
//后序遍历 替换18-20为
traversal(tree.left);
traversal(tree.right);
res.push(tree.val);