对于二叉树遍历,有前序遍历、中序遍历、后序遍历3种常用的算法。
- 前序遍历:先遍历根节点,再遍历左右子树
中序遍历:先遍历左(右)子树,然后访问根节点,最后遍历右(左)子树
后序遍历:先遍历左右子树,再遍历根节点
采用前序遍历的方法判断是否为对称二叉树:
var isSymmetric = function(root) {
if(root == null){
return true;
}
return isSym(root.left,root.right)
};
function isSym(left,right){
if(left == null && right == null) {
return true;
}
if(left == null || right == null){
return false;
}
if(left.val != right.val){
return false;
}
return arguments.callee(left.left,right.right) && arguments.callee(left.right,right.left);
}