面試題 04.03. 特定深度節點鍊錶——dfs
給定一棵二叉樹,設計乙個演算法,建立含有某一深度上所有節點的鍊錶(比如,若一棵樹的深度為 d,則會建立出 d 個鍊錶)。返回乙個包含所有深度的鍊錶的陣列。
示例:輸入:[1,2,3,4,5,null,7,8]
1
/ \
2 3
/ \ \
4 5 7
/ 8
輸出:[[1],[2,3],[4,5,7],[8]]
class
solution_04_03
return
newlistnode[0
];}private
void
dfs(treenode tree,
int deep, listnode[
] res)
else
// 先遞迴遍歷右子樹是因為,如果先遍歷左子樹的話,無法獲取每個層級鍊錶的最後乙個節點
// 先遍歷右子樹的話,就相當於先獲取到每個層級的後面的節點,然後讓當前節點的next指向它
dfs(tree.right,deep+
1,res)
;dfs
(tree.left,deep+
1,res);}
}/**
* 求當前數的深度
* @param tree
* @return
*/private
intgetdeep
(treenode tree)
}
力扣 面試題 04 03 特定深度節點鍊錶
原題鏈結 樹及鍊錶定義如下 definition for a binary tree node.struct treenode definition for singly linked list.struct listnode 本題即為二叉樹層序遍歷的乙個變體,只是將返回由vector 變為vect...
刷題 力扣 面試題 04 03 特定深度節點鍊錶
題目鏈結 題目描述 給定一棵二叉樹,設計乙個演算法,建立含有某一深度上所有節點的鍊錶 比如,若一棵樹的深度為 d,則會建立出 d 個鍊錶 返回乙個包含所有深度的鍊錶的陣列。示例 輸入 1,2,3,4,5,null,7,8 1 2 3 4 5 7 8輸出 1 2,3 4,5,7 8 題目分析 根據題目...
leetcode 特定深度節點鍊錶
給定一顆二叉樹,設計乙個演算法,建立含有某一深度上所有節點的鍊錶 比如,若一顆樹的深度為 d,則會建立出 d 個鍊錶 返回乙個包含所有深度的鍊錶的陣列。這道題使用層次遍歷對二叉樹進行遍歷,在遍歷過程中確定節點屬於哪一層,將同一層的節點放在同乙個鍊錶下即可。在做這道題的時候,我在處理節點層級這個點上處...