題目鏈結
題目描述
給定一棵二叉樹,設計乙個演算法,建立含有某一深度上所有節點的鍊錶(比如,若一棵樹的深度為 d,則會建立出 d 個鍊錶)。返回乙個包含所有深度的鍊錶的陣列。
示例:
輸入:[1,2,3,4,5,null,7,8]
1/ \
2 3
/ \ \
4 5 7
/8輸出:[[1],[2,3],[4,5,7],[8]]
題目分析
根據題目描述,將同一層的樹節點轉換為鍊錶
使用廣度優先搜尋的思想
利用佇列操作,先入隊根節點,在根節點出隊時,入隊子節點
**
/**
* definition for a binary tree node.
* struct treenode
* };
*//**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
std::queuenodeque;
nodeque.emplace(tree);
while (!nodeque.empty())
if (nodeque.front()->right)
nodeque.pop();
res.emplace_back(list);
while (--nodequelen)
if (nodeque.front()->right)
nodeque.pop();}}
return res;
}};
力扣 面試題 04 03 特定深度節點鍊錶
原題鏈結 樹及鍊錶定義如下 definition for a binary tree node.struct treenode definition for singly linked list.struct listnode 本題即為二叉樹層序遍歷的乙個變體,只是將返回由vector 變為vect...
刷題 力扣 面試題 08 11 硬幣
題目鏈結 題目描述 硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1示例2 輸入 n 10 輸出 4 解釋 有四種...
面試題 04 03 特定深度節點鍊錶 DFS
面試題 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,...