給定一個(gè)二叉樹其中的一個(gè)結(jié)點(diǎn),請(qǐng)找出中序遍歷順序的下一個(gè)結(jié)點(diǎn)并且返回。注意,樹中的結(jié)點(diǎn)不僅包含左右子結(jié)點(diǎn),同時(shí)包含指向父結(jié)點(diǎn)的next指針。下圖為一棵有9個(gè)節(jié)點(diǎn)的二叉樹。樹中從父節(jié)點(diǎn)指向子節(jié)點(diǎn)的指針用實(shí)線表示,從子節(jié)點(diǎn)指向父節(jié)點(diǎn)的用虛線表示 示例: 輸入:{8,6,10,5,7,9,11},8 返回:9 解析:這個(gè)組裝傳入的子樹根節(jié)點(diǎn),其實(shí)就是整顆樹,中序遍歷{5,6,7,8,9,10,11},根節(jié)點(diǎn)8的下一個(gè)節(jié)點(diǎn)就是9,應(yīng)該返回{9,10,11},后臺(tái)只打印子樹的下一個(gè)節(jié)點(diǎn),所以只會(huì)打印9,如下圖,其實(shí)都有指向左右孩子的指針,還有指向父節(jié)點(diǎn)的指針,下圖沒有畫出來 數(shù)據(jù)范圍:節(jié)點(diǎn)數(shù)滿足 ,節(jié)點(diǎn)上的值滿足 要求:空間復(fù)雜度 ,時(shí)間復(fù)雜度
輸入描述:
輸入分為2段,第一段是整體的二叉樹,第二段是給定二叉樹節(jié)點(diǎn)的值,后臺(tái)會(huì)將這2個(gè)參數(shù)組裝為一個(gè)二叉樹局部的子樹傳入到函數(shù)GetNext里面,用戶得到的輸入只有一個(gè)子樹根節(jié)點(diǎn)
輸出描述:
返回傳入的子樹根節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),后臺(tái)會(huì)打印輸出這個(gè)節(jié)點(diǎn)
加載中...