C之乙個二叉樹題目解答

2021-08-30 05:30:27 字數 433 閱讀 8179

那天看到這麼乙個題目,內容是這樣的:

我大概思考了一下,首先得先得到這棵樹的乙個遍歷,然後樹中節點的左子樹指標相當於雙向鍊錶中的prior指標,右子樹指標相當於雙向鍊錶的next指標,那麼頭結點應該就是葉子中最左的,我們前面得到的遍歷結果中,凡是左右子樹都為null的就是葉子,只需要將這些鏈結到雙向鍊錶中就ok了。

我給出的偽碼如下:

/** 假設二叉樹的結點定義 如下:

* struct tnode ;

*/tnode* linkleaf(tnode* proot) else else }}

tnode* pcurleaf = null;

while (inorderstack.size()) else }}

return pcurleaf;

}

二叉樹題目

struct treenode treenode left treenode right 遞迴解法 如果二叉樹為空,節點個數為0 如果二叉樹不為空,那麼節點個數 左子樹結點個數 右子樹結點個數 1 int getnodenum treenode root 如果二叉樹為空,二叉樹的深度為0 如果二叉樹...

二叉樹題目

include include includeusing namespace std void print postorder int n,char pre,char in n代表節點個數,pre前 in 中 post後,不建樹用void int main void return 0 根據後中求層次...

leetcode二叉樹之一

目的 求二叉樹最大直徑 返回值 int 輸入 treenode definition for a binary tree node.struct treenode class solution intdiameterofbinarytree treenode root 學習一下二叉樹,感覺這兒演算法...