提交 25f048e8 编写于 作者: GreyZeng's avatar GreyZeng

leetcode 101 symmetric-tree

上级 66dfe675
package git.snippet.tree;
// 判断一棵树是否是镜面树
// https://leetcode.com/problems/symmetric-tree
public class LeetCode_0101_SymmetricTree {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
if (null == root) {
return true;
}
if (root.right == null || root.left == null) {
return root.right == null && root.left == null;
if (root.left == null || root.right == null) {
return root.left == null && root.right == null;
}
// root.left != null && root.right != null
return isSymmetric(root.left, root.right);
return root.left.val == root.right.val && isSymmetric(root.left, root.right);
}
// 判断 left 和 right 两棵树是否是镜面对称
public boolean isSymmetric(TreeNode left, TreeNode right) {
if (left == null || right == null) {
return left == null && right == null;
}
// left != null && right != null
int lv = left.val;
int rv = right.val;
if (lv != rv) {
return false;
}
return isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left);
// left.val == right.val
return left.val == right.val && isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left);
}
public class TreeNode {
int val;
TreeNode left;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册