二叉樹資料結構treenode可用來表示單向鍊錶(其中left置空,right為下乙個鍊錶節點)。實現乙個方法,把二叉搜尋樹轉換為單向鍊錶,要求依然符合二叉搜尋樹的性質,轉換操作應是原址的,也就是在原始的二叉搜尋樹上直接修改。
返回轉換後的單向鍊錶的頭節點。
題解:使用中序遍歷,記錄前乙個結點,遍歷到每個節點時,將left置空,將前乙個節點的right指向當前節點。二叉搜尋樹中序遍歷最後乙個節點的right必然為空
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
~solution()
void
inorder
(treenode* root)
inorder
(root-
>left)
; root-
>left =
null;if
(pre-
>right != root)
pre = root;
inorder
(root-
>right);}
treenode*
convertbinode
(treenode* root)
};
二叉樹(簡單思維題)
如上圖所示,由正整數1,2,3 組成了一顆二叉樹。我們已知這個二樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點 都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹中共有4個結...
(二叉樹提高題)還原二叉樹
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入格式 輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出格式 輸出為乙個整數,即該二叉樹的高度。輸入樣例 9 abdfghiec fdhgi...
簡單二叉樹
algorithm.cpp 定義控制台應用程式的入口點。include stdafx.h include define d left 0 define d right 1 template struct bnode bnode plnode 左子樹 bnode prnode 右子樹 t pvalue...