对称的二叉树(Java实现)

来源:互联网 发布:自制相册软件下载 编辑:程序博客网 时间:2024/05/17 22:28

本题为剑指offer面试题59

牛客网测试地址:https://www.nowcoder.com/questionTerminal/ff05d44dfdb04e1d83bdbdab320efbcb



[编程题]对称的二叉树
  • 热度指数:31571  时间限制:1秒  空间限制:32768K
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
Java code:

package go.jacob.day609;public class Demo2 {boolean isSymmetrical(TreeNode pRoot) {if (pRoot == null)return true;return isSymmetrical(pRoot.left, pRoot.right);}//比较左右子树对应节点是否相同private boolean isSymmetrical(TreeNode pRoot1, TreeNode pRoot2) {if (pRoot1 == null && pRoot2 == null)return true;if (pRoot1 == null || pRoot2 == null)return false;if (pRoot1.val != pRoot2.val)return false;return isSymmetrical(pRoot1.left, pRoot2.right) && isSymmetrical(pRoot1.right, pRoot2.left);}class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}}}




原创粉丝点击