对称二叉树
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1 / \ 2 2 / \ / \ 3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1 / \ 2 2 \ \ 3 3
示例 1:
输入:root = [1,2,2,3,4,4,3] 输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3] 输出:false
1 public boolean isSymmetric(TreeNode root) { 2 if(root==null){ 3 return true; 4 } 5 return recur(root.left,root.right); 6 } 7 boolean recur(TreeNode le,TreeNode ri){ 8 if(le==null && ri==null){ 9 return true; 10 } 11 if(le==null || ri==null || le.val!=ri.val){ 12 return false; 13 } 14 return recur(le.left,ri.right) && recur(le.right,ri.left); 15 }

浙公网安备 33010602011771号