美文网首页
树的非常规遍历问题(cont)

树的非常规遍历问题(cont)

作者: 石榴蒂凡尼_21e4 | 来源:发表于2017-09-21 14:26 被阅读0次

    层遍历问题

    问题:Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

    Input:

    • 树的跟 :: TreeNode

    Output:

    • 整棵树的按层遍历:List<List<Integer>>

    Intuition:

    这个题可以做BFS的例题了,就酱...

    Code:

    TC:O()

    public List<List<Integer>> levelOrder(TreeNode root) {
      List<List<Integer>> res = new ArrayList<>();
      if (root == null){
        return res;
      }
      Deque<TreeNode> que = new ArrayDeque<>();
      que.offer(root);
    
      while (!que.isEmpty()){
        List<Integer> list = new ArrayList<>();
        int size = que.size();
        for(int i = 0; i < size; i++){ //nodes in one level
          ListNode cur = que.poll();
          list.add(cur.val);
          if (cur.left != null){
            que.offer(cur.left);
          }
          if (cur.right != null){
            que.offer(cur.right);
          }
        }  
        res.add(list);
      }
      return res;
    }
    

    问题:Binary Tree Level Order Traversal II

    列遍历问题

    之型遍历问题

    问题:Binary Tree Zigzag Level Order Traversal

    Reference:

    相关文章

      网友评论

          本文标题:树的非常规遍历问题(cont)

          本文链接:https://www.haomeiwen.com/subject/vsczsxtx.html