中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

【劍指Offer|C++】面試題8:尋找二叉樹的下一個節(jié)點|上一個節(jié)點-創(chuàng)新互聯(lián)

題目:給定一個二叉樹和其中的一個結(jié)點,請找出中序遍歷順序的下一個結(jié)點并且返回。注意,樹中的結(jié)點不僅包含左右子結(jié)點,同時包含指向父結(jié)點的指針。

創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為資源企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),資源網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

題目算是比較新穎的了
題解:

//結(jié)構(gòu)體定義
struct BinaryTreeNode
{int value;
	BinaryTreeNode* left;
	BinaryTreeNode* right;
	BinaryTreeNode* parent;
}

//找下一個節(jié)點
BinaryTreeNode* GetNext(BinaryTreeNode* node)
{//特殊處理
	if(node == nullptr)
		return nullptr;
	
	BinaryTreeNode* next = nullptr;//定義要返回的結(jié)果指針
	if(node->right != nullptr)//有右子樹:找到右子樹的最左節(jié)點
	{BinaryTreeNode* pRight = node->right;
		while(pRight ->left != nullptr)
		{	pRight = pRight->left;
		}
		next = pRight;
	}
	else if(node->parent != nullptr)//非根節(jié)點
	{BinaryTreeNode* current = node;
		BinaryTreeNode* pParent = node->parent;
		while(pParent != nullptr && current == pPrent->right)//沒有右子樹且他還是父節(jié)點的右子節(jié)點:向上遍歷直到找到一個節(jié)點是父節(jié)點的左子節(jié)點,該父節(jié)點就是要找的這個節(jié)點
		{	current = pParent;
			pParent= pParent->parent;
		}
		next = pParent;//沒有右子樹且是父節(jié)點的左子節(jié)點:該節(jié)點的父節(jié)點就是要找的節(jié)點
	}
}

拓展:尋求上一個節(jié)點

跟上述思路相反:
如果有左子樹,即為左子樹的最右子節(jié)點。
如果無左子樹,如果本身為父節(jié)點的的右子節(jié)點,即為父節(jié)點
為父節(jié)點的左子節(jié)點,即為祖父節(jié)點

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享文章:【劍指Offer|C++】面試題8:尋找二叉樹的下一個節(jié)點|上一個節(jié)點-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article10/dcojgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站軟件開發(fā)、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、標簽優(yōu)化、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
三亚市| 启东市| 五常市| 鹤峰县| 大厂| 上犹县| 晋江市| 新安县| 叶城县| 许昌市| 柏乡县| 黄龙县| 安岳县| 高雄市| 雷州市| 伊春市| 家居| 淮北市| 东光县| 焦作市| 长垣县| 高唐县| 沧州市| 启东市| 宝丰县| 高要市| 莱州市| 大石桥市| 土默特右旗| 柘荣县| 安平县| 临高县| 邵东县| 克山县| 新民市| 安龙县| 米林县| 涡阳县| 奉化市| 青河县| 综艺|