刷題 力扣 面試題 04 03 特定深度節點鍊錶

2022-09-21 12:39:10 字數 886 閱讀 1472

題目鏈結

題目描述

給定一棵二叉樹,設計乙個演算法,建立含有某一深度上所有節點的鍊錶(比如,若一棵樹的深度為 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,...