关注
无右子树的两个分支其实可以合并,迭代两个节点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
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
280531次浏览 2437人参与
# 如果实习可以转正,你会不会放弃秋招 #
206180次浏览 2808人参与
# 北方华创开奖 #
24655次浏览 263人参与
# 地方国企笔面经互助 #
3306次浏览 7人参与
# 学历or实习经历,哪个更重要 #
47637次浏览 369人参与
# 选完offer后,你后悔学本专业吗 #
16896次浏览 120人参与
# 如何一边实习一边秋招 #
989379次浏览 12623人参与
# 软开人,秋招你打算投哪些公司呢 #
41748次浏览 534人参与
# 数据人的面试交流地 #
436496次浏览 7813人参与
# 0offer是寒冬太冷还是我太菜 #
893364次浏览 7966人参与
# 得物求职进展汇总 #
64998次浏览 674人参与
# 求职遇到的搞笑事件 #
69089次浏览 572人参与
# 你觉得专业和学校哪个对薪资影响最大 #
28992次浏览 215人参与
# 查收我的offer竞争力报告 #
21392次浏览 263人参与
# 你最想要的公司福利是? #
43620次浏览 162人参与
# 没有实习经历,还有机会进大厂吗 #
809247次浏览 13888人参与
# 来聊聊机械薪资天花板是哪家 #
67572次浏览 460人参与
# 当你面对裁员会如何? #
26557次浏览 156人参与
# 一觉醒来,我觉醒了超级打工人系统 #
3681次浏览 38人参与
# 应届生被毁约被毁意向了怎么办 #
28879次浏览 247人参与
# 面试体验感最好的是哪家? #
84238次浏览 822人参与