第十八周 6.27 --- 7.3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十八周 6.27 --- 7.3相关的知识,希望对你有一定的参考价值。

新的一周>.<

6.27

leetcode 99 Recover Binary Search Tree

一颗二叉搜索树有两个节点的位置不对,让把这两个位置换回来

中序遍历的二叉搜索树是升序排列的,所以在中序遍历的时候,记录下这两个节点就好

技术分享
 1 class Solution{
 2 public:
 3     TreeNode* p1;
 4     TreeNode* p2;
 5     TreeNode* pre;
 6     void recoverTree(TreeNode* root){
 7         inorder(root);
 8         if(p1 != NULL && p2 != NULL){
 9             swap(p1->val,p2->val);
10         }
11     }
12 
13     void inorder(TreeNode* root){
14         if(root == NULL) return;
15         if(root->left != NULL) inorder(root->left);
16         if(pre != NULL && pre->val > root->val){
17             if(p1 == NULL){
18                 p1 = pre;
19                 p2 = root;
20             }
21             else p2 = root;
22         }
23         pre = root;
24         if(root->right != NULL) inorder(root->right);
25     }
26 };
View Code

 

以上是关于第十八周 6.27 --- 7.3的主要内容,如果未能解决你的问题,请参考以下文章

第十八周个人作业

第十八周作业

第十八周

刘志梅 201771010115 《面向对象程序设计(java)》 第十八周学习总结

第十八周个人作业

-考研第十八周总结-