关注
无右子树的两个分支其实可以合并,迭代两个节点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
相关推荐
哈哈哈,你是老六:你回答我能拿到比你这公司还好的大厂offer,打一下面试官的脸,我上家的小组长恶心我,裁我,我拿到一个涨薪30%的offer就打了他的脸,而且我没有耽误一天,平稳的衔接
查看21道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的付费上班经历 #
2237次浏览 59人参与
# 如果不上班,你会去做什么 #
1016次浏览 45人参与
# MiniMax求职进展汇总 #
1155次浏览 25人参与
# 参加哪些竞赛对找工作有帮助? #
1374次浏览 29人参与
# 工作压力大,你会干什么? #
1020次浏览 40人参与
# 为了入行xx岗,我学了__ #
821次浏览 17人参与
# 职场新人体验 #
159958次浏览 1141人参与
# 你们的毕业论文什么进度了 #
1234847次浏览 9913人参与
# 拿到offer之后,可以做些什么 #
84169次浏览 438人参与
# 硬件/芯片公司工作体验 #
142279次浏览 945人参与
# 你觉得面试是靠实力还是靠运气 #
27274次浏览 304人参与
# 当你面对裁员会如何? #
352984次浏览 2857人参与
# 生物制药/化工校招攻略 #
72955次浏览 338人参与
# 牛客十周岁生日快乐 #
203949次浏览 1914人参与
# 哪些公司在招寒假实习? #
24590次浏览 344人参与
# 这些公司卡简历很严格 #
84249次浏览 379人参与
# 聊聊你的职场新体验 #
311239次浏览 1842人参与
# 硬件人秋招进展 #
265278次浏览 3967人参与
# 招聘要求与实际实习内容不符怎么办 #
150219次浏览 891人参与
# 秋招开了,你想投哪些公司呢 #
968240次浏览 11391人参与
# 快手工作体验 #
296726次浏览 2896人参与