五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

LeetCode-099-恢復(fù)二叉搜索樹(shù)

2021-11-12 10:01 作者:雄獅虎豹  | 我要投稿

恢復(fù)二叉搜索樹(shù)

題目描述:給你二叉搜索樹(shù)的根節(jié)點(diǎn) root ,該樹(shù)中的兩個(gè)節(jié)點(diǎn)被錯(cuò)誤地交換。請(qǐng)?jiān)诓桓淖兤浣Y(jié)構(gòu)的情況下,恢復(fù)這棵樹(shù)。

進(jìn)階:使用 O(n) 空間復(fù)雜度的解法很容易實(shí)現(xiàn)。你能想出一個(gè)只使用常數(shù)空間的解決方案嗎?

示例說(shuō)明請(qǐng)見(jiàn)LeetCode官網(wǎng)。

來(lái)源:力扣(LeetCode) ??

鏈接:https://leetcode-cn.com/problems/recover-binary-search-tree/ ??

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

解法一:遞歸法

  • 首先,通過(guò)中序遍歷得到二叉搜索樹(shù)的所有節(jié)點(diǎn)allNodes,正常情況下,如果沒(méi)有節(jié)點(diǎn)被錯(cuò)誤的交換,allNodes所有節(jié)點(diǎn)應(yīng)該是按升序排列,所以要找出被交換的2個(gè)節(jié)點(diǎn);

  • 從后往前遍歷allNodes,找到第一個(gè)值比前面的值小的節(jié)點(diǎn),即為錯(cuò)誤的第一個(gè)節(jié)點(diǎn)high;

  • high-1開(kāi)始往前遍歷allNodes,找到第一個(gè)值比high節(jié)點(diǎn)小的節(jié)點(diǎn)low,low+1位置的節(jié)點(diǎn)即為錯(cuò)誤的第二個(gè)節(jié)點(diǎn);

  • 交換low和high2個(gè)節(jié)點(diǎn)的值,即可恢復(fù)這棵樹(shù)。

【每日寄語(yǔ)】 感謝不離不棄的你,讓我知道仍有人愛(ài)我。感謝你的支持,不論今天有多挫折,我仍會(huì)勇敢地活下去。



LeetCode-099-恢復(fù)二叉搜索樹(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
郸城县| 筠连县| 罗甸县| 疏勒县| 无极县| 昌平区| 镇远县| 郯城县| 漠河县| 阿巴嘎旗| 秦安县| 东安县| 惠安县| 肥乡县| 隆安县| 东至县| 中超| 文登市| 新乐市| 双牌县| 德格县| 灯塔市| 荔浦县| 石景山区| 得荣县| 当雄县| 江源县| 浙江省| 台南县| 富阳市| 沙坪坝区| 长治县| 鲁山县| 三原县| 阜城县| 信丰县| 长沙县| 美姑县| 漯河市| 宜宾县| 贞丰县|