对称树:
//===================递归算法=============================//
1.只要pRoot.left和pRoot.right对称即可
2.左右节点的
值相等且
对称子树left.left, right.right ;left.rigth,right.left
也对称
/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public boolean jude(TreeNode node1,TreeNode node2){ if(node1==null&&node2==null){ return true; }else if(node1==null||node2==null) return false; if(node1.val!=node2.val) return false; else{ return jude(node1.left,node2.right)&&jude(node1.right,node2.left); } } public boolean isSymmetrical(TreeNode pRoot) { return pRoot==null||jude(pRoot.left,pRoot.right); } }
//===================非递归算法,利用DFS和BFS=============================//