(22) 두 갈래 나무의 대칭 여부 판단

4402 단어

1. 문제 설명


두 갈래 나무를 정해서 대칭 여부를 판정하다
 

코드

 1 package algorithm;
 2 
 3 /**
 4  * Created by adrian.wu on 2019/5/30.
 5  */
 6 
 7 
 8 /*
 9 10  , , 
11  */
12 public class BinaryTreeSymmetricalJudger {
13     public static class BinaryTree {
14         BinaryTree left, right;
15         int val;
16 
17         public BinaryTree(int val) {
18             this.val = val;
19         }
20     }
21 
22     public static boolean isSymmetrical(BinaryTree head) {
23         return helper(head.left, head.right);
24     }
25 
26     private static boolean helper(BinaryTree left, BinaryTree right) {
27         if (left == null && right == null) return true;
28         if (left == null || right == null) return false;
29         if (left.val != right.val) return false;
30 
31         return helper(left.left, right.right) && helper(left.right, right.left);
32     }
33 }

좋은 웹페이지 즐겨찾기