File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ private static boolean solution(TreeNode root) {
2
+ if (root == null) {
3
+ return true;
4
+ } else {
5
+ //二叉树对称的条件
6
+ //(1)左子树和右子树对称
7
+ //(2)左子树的左子树和右子树的右子树对称
8
+ //(3)左子树的右子树和右子树的左子树对称
9
+ //递归判断
10
+ return judge(root.leftNode, root.rightNode);
11
+ }
12
+
13
+ }
14
+
15
+ private static boolean judge(TreeNode leftNode, TreeNode rightNode) {
16
+ if (leftNode == null && rightNode == null) {
17
+ return true;
18
+ } else if (leftNode == null || rightNode == null) {
19
+ return false;
20
+ }
21
+ //条件(1)
22
+ if (leftNode.value != rightNode.value) {
23
+ return false;
24
+ }
25
+ //条件(2)
26
+ boolean flag1 = judge(leftNode.leftNode, rightNode.rightNode);
27
+ //条件(3)
28
+ boolean flag2 = judge(leftNode.rightNode, rightNode.leftNode);
29
+ if (flag1 && flag2) {
30
+ return true;
31
+ }
32
+ return false;
33
+ }
You can’t perform that action at this time.
0 commit comments