熊二 | C++ | #牛群的树形结构展开#
牛群的树形结构展开
https://www.nowcoder.com/practice/07caea5438394f58afbe72cbe2eb2189
题目考察的知识点
- 二叉树
- 链表
- 先序遍历
题目解答方法的文字分析
- 构建虚拟头节点和指向当前节点的指针cur
- 先序遍历二叉树,创建节点temp,在将cur.right指向temp
- 递归遍历即可
本题解析所用的编程语言
- cpp
完整且正确的编程代码
class Solution {
TreeNode *head = new TreeNode(-1);
TreeNode *cur = head;
public:
TreeNode* flattenTree(TreeNode* root) {
if (root == nullptr) return root;
TreeNode* temp = new TreeNode(root->val);
cur->right = temp;
cur = cur->right;
flattenTree(root->left);
flattenTree(root->right);
return head->right;
}
};
/*
构建虚拟头节点和指向当前节点的指针cur
先序遍历二叉树,创建节点temp,在将cur.right指向temp
递归遍历即可
*/
EOF
