C++方法 找到搜索二叉树中两个错误的节点

找到搜索二叉树中两个错误的节点

http://www.nowcoder.com/questionTerminal/4582efa5ffe949cc80c136eeb78795d6

class Solution {
public:
//中序遍历搜索二叉树按递增顺序,除了两个错误节点
//记录错误节点a,b
int a=0;
int b=0;
TreeNode* pre=nullptr;
void inorder(TreeNode* root){
if(!root)
return;
inorder(root->left);
//确定a找到了,找错误节点b
if(pre!=nullptr&&pre->val>root->val&&a!=0)
{
b=root->val;
}
//找寻错误节点a
if(pre!=nullptr&&pre->val>root->val&&a==0)
{
a=pre->val;
}

    pre=root;
    inorder(root->right);
}
vector<int> findError(TreeNode* root) {
    // write code here
    inorder(root);
    vector<int> res;
    res.push_back(b);
    res.push_back(a);
    return res;
}

};

全部评论
if(pre!=nullptr&&pre->val>root->val&&a==0) { a=pre->val; b=root->val; //这边漏了 }
点赞 回复 分享
发布于 2021-07-22 09:41

相关推荐

点赞 评论 收藏
分享
04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
这一集&nbsp;硕士输的很惨
找工作ing10:就是这样不是硕士不愿意脱下长衫,是人家觉得屈才了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务