樹的非常規(guī)遍歷問題(cont)

層遍歷問題

問題: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:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容