leetcode:Recover Binary Search Tree
来源:互联网 发布:录干音用什么软件 编辑:程序博客网 时间:2024/06/05 00:41
Two 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?
confused what "{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
Subscribe to see which companies asked this question
/** * 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 {private: void recoverTreeHelper(TreeNode* root, TreeNode* &preNode, TreeNode* &node1, TreeNode* &node2) { if (root == NULL) return; recoverTreeHelper(root->left, preNode, node1, node2); if (preNode != NULL) { if (root->val < preNode->val) { node2 = root; if (node1 == NULL) { node1 = preNode; } } } preNode = root; recoverTreeHelper(root->right, preNode, node1, node2); } public: void recoverTree(TreeNode* root) { TreeNode *preNode = NULL; TreeNode *node1 = NULL; TreeNode *node2 = NULL; recoverTreeHelper(root, preNode, node1, node2); if (node1 != NULL and node2 != NULL) { int tmp = node1->val; node1->val = node2->val; node2->val = tmp; } }};
0 0
- LeetCode: Recover Binary Search Tree
- LeetCode: Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [leetcode] recover binary search tree
- LeetCode -- Recover Binary Search Tree
- [LeetCode]Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- LeetCode:Recover Binary Search Tree
- [Leetcode]Recover Binary Search Tree
- Leetcode: Recover Binary Search Tree
- LeetCode-Recover Binary Search Tree
- [leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- 【Leetcode】Recover Binary Search Tree
- Leetcode Recover Binary Search Tree
- LeetCode | Recover Binary Search Tree
- hdu2467 String painter(区间dp)
- swift基本语法(总结提炼版)之007 swift之数组
- SUSE Linux上安装IPython/Jupyter
- leetcode Partition List二分链表问题
- oracle体系结构-进程结构 概述
- leetcode:Recover Binary Search Tree
- C#Winform读取txt文件
- Python操作Mysql实例代码 - 以及mysqldb 安装
- 毕业设计第九天
- #Android学习#启动、绑定及跨应用启动Service
- leetcode 318. Maximum Product of Word Lengths
- Mina(三)
- 最近想学学Opencv,一边学一边在这做笔记
- sublime 安装 php xdebug