首页 > 学院 > 开发设计 > 正文

对称的二叉树

2019-11-08 03:03:45
字体:
来源:转载
供稿:网友

题目描述

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

算法解析: 最简洁的想法是按照递归的方式将整个二叉树镜像比较。

代码如下:

boolean isSymmetrical(TreeNode PRoot) { return isSymmetrical(pRoot, pRoot); } 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); }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表