设计师资源网站,价格低油耗低的车,自己创建一个网站需要多少钱,玉溪哪有网站建设开发请实现一个函数#xff0c;用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样#xff0c;那么它是对称的。
例如#xff0c;二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1…请实现一个函数用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样那么它是对称的。
例如二叉树 [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
限制
0 节点个数 1000
代码
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val x; } * } */
class Solution { public boolean isSymmetric(TreeNode root) { if(rootnull) { return true; } if(root.leftnullroot.rightnull) { return true; } if(root.leftnull||root.rightnull) { return false; } return find(root.left,root.right); } public boolean find(TreeNode p,TreeNode q) { if(pnullqnull) { return true; } if(pnull||qnull) { return false; } if(p.valq.val) { return find(p.left,q.right)find(p.right,q.left); } else { return false; } }
}