题目考察的知识点
- 二叉树
- 链表
- 先序遍历
题目解答方法的文字分析
- 构建虚拟头节点和指向当前节点的指针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