麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

99. Recover Binary Search Tree

2019-11-06 08:50:44
字體:
來源:轉載
供稿:網友

問題描述 wo elements of a binary search tree (BST) are swapped by mistake.

Recover the tree without changing its structure.

Note: A solution using O(n) space is PRetty straight forward. Could you devise a constant space solution? Subscribe to see which companies asked this question.

解決思路 使用inorder遍歷的辦法,因為在二叉查詢樹時,inorder遍歷會滿足遍歷到的節點是有序的,而此時為升序,所以我們只要找到兩個不滿足pre->val < cur->val的節點就可以了。

代碼

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* first=NULL; TreeNode* second=NULL; TreeNode* pre = new TreeNode(INT_MIN); void recoverTree(TreeNode* root) { helper(root); int tmp = first->val; first->val = second->val; second->val = tmp; } void helper(TreeNode* root) { if (root == NULL) return; helper(root->left); if (!first && pre->val >= root->val) first = pre; if (first && pre->val >= root->val) {second = root; } pre = root; helper(root->right); }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线免费观看中文字幕 | 国产一有一级毛片视频 | 亚洲导航深夜福利涩涩屋 | 欧美一级黄色影院 | 色天使中文字幕 | 亚洲国产网址 | 亚洲影院在线播放 | 成人在线网站 | 今井夏帆av一区二区 | 欧美亚洲国产成人综合在线 | 欧美一级黄色片在线观看 | 中文在线观看视频 | 久久久视频免费观看 | 成人超碰 | 午夜爽爽爽男女免费观看hd | 黄色av一区二区三区 | 91麻豆蜜桃一区二区三区 | 色妇视频| 72pao成人国产永久免费视频 | 4399一级成人毛片 | 国产成人高清成人av片在线看 | 久久看视频 | 久久精品超碰 | 国产精品视频导航 | 综合97 | 午夜视频在线 | 羞羞电影网| 欧美片一区二区 | 欧美精品久久久久久久久久 | 国产妇女乱码一区二区三区 | 欧美成人理论片乱 | cosplay裸体福利写真 | 福利在线免费 | 国产羞羞视频在线免费观看 | 九九久久视频 | 人人做人人看 | 人人看人人艹 | 色吧久久 | 国产精品99久久99久久久二 | 久久密 | 免费福利在线视频 |