美文网首页
LeetCode 剑指 Offer 28. 对称的二叉树

LeetCode 剑指 Offer 28. 对称的二叉树

作者: 陈陈chen | 来源:发表于2021-08-24 17:28 被阅读0次

1、题目

image.png

2、分析

image.png

对称二叉树定义: 对于树中 任意两个对称节点 LL 和 RR ,一定有:

  • L.val = R.valL.val=R.val :即此两对称节点值相等
  • L.left.val = R.right.valL.left.val=R.right.val
  • L.right.val = R.left.valL.right.val=R.left.val

3、代码

/**
 * 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 (root == null) return true;
        return traversal(root.left, root.right);
    }

    boolean traversal(TreeNode L, TreeNode R){
        if (L == null && R == null) return true;
        if (L == null || R == null) return false;
        if (L.val != R.val) return false;
        return traversal(L.left, R.right) && traversal(L.right, R.left);
    }
}

相关文章

网友评论

      本文标题:LeetCode 剑指 Offer 28. 对称的二叉树

      本文链接:https://www.haomeiwen.com/subject/xyndiltx.html