题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
算法解析: 最简洁的想法是按照递归的方式将整个二叉树镜像比较。
代码如下:
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); }新闻热点
疑难解答