1 Star 0 Fork 0

yuhang2__2/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
change-the-root-of-a-binary-tree.cpp 792 Bytes
一键复制 编辑 原始数据 按行查看 历史
// Time: O(h)
// Space: O(1)
/*
// Definition for a Node.
class Node {
public:
int val;
Node* left;
Node* right;
Node* parent;
};
*/
class Solution {
public:
Node* flipBinaryTree(Node* root, Node * leaf) {
Node *curr = leaf, *parent = nullptr;
while (true) {
auto child = curr->parent;
curr->parent = parent;
if (curr->left == parent) {
curr->left = nullptr;
} else {
curr->right = nullptr;
}
if (curr == root) {
break;
}
if (curr->left) {
curr->right = curr->left;
}
curr->left = child;
parent = curr, curr = child;
}
return leaf;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yuhang2__2/LeetCode-Solutions.git
git@gitee.com:yuhang2__2/LeetCode-Solutions.git
yuhang2__2
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助