关注
无右子树的两个分支其实可以合并,迭代两个节点pre即前一个结点和cur即前一个结点的父节点,初始时pre=输入,cur=输入的父节点,迭代停止条件为cur == nullptr || cur->left == pre。
总体代码:
class Solution {
public:
TreeLinkNode* GetNext(TreeLinkNode* pNode)
{
if (pNode == nullptr) return nullptr;
// 如果有右子
if (pNode->right) {
TreeLinkNode* cur = pNode->right;
while (cur->left) {
cur = cur->left;
}
return cur;
}
// 无右子,一直迭代到cur为父的左子,此时父为下一个
else {
TreeLinkNode* pre = pNode;
TreeLinkNode* cur = pNode->next;
while(cur != nullptr && cur->left != pre) {
pre = cur;
cur = cur->next;
}
return cur;
}
}
};
1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 对2025年忏悔 #
3025次浏览 88人参与
# 新年的第一句祝福 #
50732次浏览 374人参与
# 实习没人带,苟住还是跑路? #
9933次浏览 232人参与
# 运营来爆料 #
72402次浏览 454人参与
# 元旦假期你打算怎么过 #
6471次浏览 159人参与
# 腾讯音乐求职进展汇总 #
145510次浏览 1039人参与
# 春招前还要继续实习吗? #
2966次浏览 50人参与
# 面试官问过你最刁钻的问题是什么? #
7464次浏览 89人参与
# 领导秒批的请假话术 #
30301次浏览 120人参与
# 一人说一家双休的公司 #
5792次浏览 87人参与
# 大家实习都在做什么? #
7652次浏览 83人参与
# 我们是不是被“优绩主义”绑架了? #
8149次浏览 276人参与
# 阿里求职进展汇总 #
443875次浏览 3919人参与
# 电网笔面经互助 #
56859次浏览 470人参与
# 如何提高实习转正率? #
73011次浏览 463人参与
# 腾讯工作体验 #
548173次浏览 3658人参与
# 实习教会我的事 #
47627次浏览 356人参与
# 面试常问题系列 #
262131次浏览 4672人参与
# 牛客2025仙途报告 #
34347次浏览 467人参与
# 国企还是互联网,你怎么选? #
191003次浏览 1476人参与
美的集团公司福利 819人发布