Leetcode 4.28 Tree Easy

1. 101. Symmetric Tree

  用递归。

 1 class Solution {
 2     public boolean isSymmetric(TreeNode root) {
 3         if( root == null)
 4             return true;
 5         return symmetric(root.left, root.right);
 6     }
 7     
 8     public boolean symmetric(TreeNode p, TreeNode q){
 9         if(p == null || q == null)
10             return p == q? true:false;
11         return p.val == q.val && symmetric(p.left, q.right) && symmetric(p.right, q.left);
12     }
13 }

 

2. 107. Binary Tree Level Order Traversal II

    list表示当前层的所有节点,nextList表示下一层的所有节点。

 1 class Solution {
 2     public List<List<Integer>> levelOrderBottom(TreeNode root) {
 3         List<List<Integer>> res = new ArrayList();
 4         List<TreeNode> list = new ArrayList();
 5         if( root == null)
 6             return res;
 7         list.add(root);
 8         
 9         while(!list.isEmpty()){
10             List<Integer> curList = new ArrayList();
11             List<TreeNode> nextList = new ArrayList();
12             for(TreeNode cur: list){   //循环当前层
13                 curList.add(cur.val);
14                 if(cur.left != null) nextList.add(cur.left);
15                 if(cur.right != null) nextList.add(cur.right);
16             }
17             list = nextList;
18             res.add(0, curList);
19         }
20         return res;
21     }
22 }

 

转载于:https://www.cnblogs.com/Afei-1123/p/10785808.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值