1、题目

2、分析

对称二叉树定义: 对于树中 任意两个对称节点 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);
}
}
网友评论