JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

recursion programming

 1 public class Solution {
 2     public boolean isSymmetric(TreeNode root) {
 3         // IMPORTANT: Please reset any member data you declared, as
 4         // the same Solution instance will be reused for each test case.
 5         if(root == null)
 6             return true;
 7         return checkTwoSubtree(root.left, root.right);
 8     }
 9     private boolean checkTwoSubtree(TreeNode leftTree, TreeNode rightTree)
10     {
11         if(leftTree == null && rightTree == null)
12             return true;
13         if(leftTree == null || rightTree == null)
14             return false;
15         if(leftTree.val != rightTree.val)
16             return false;
17         return checkTwoSubtree(leftTree.left, rightTree.right) && checkTwoSubtree(leftTree.right, rightTree.left);
18     }
19 }

 

posted on 2013-11-08 13:59  JasonChang  阅读(149)  评论(0编辑  收藏  举报