114. Flatten Binary Tree to Linked List
来源:互联网 发布:宁波软件开发哪家好 编辑:程序博客网 时间:2024/06/06 17:15
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / \ 2 5 / \ \ 3 4 6
The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
解题思路:
1. 如果根节点为空,返回,此为递归终止条件。
2. 左右子树flatten
3. 根节点与flatten后的左右子树结合成linked list
3.1 如果左子树为空,无需操作,返回
3.2 找到左子树的最右节点,与右子树连接,根节点与左子树连接。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: void flatten(TreeNode* root) { if (root == nullptr) return; flatten(root->left); flatten(root->right); if (nullptr == root->left) return; TreeNode *p = root->left; while (p->right) p = p->right; p->right = root->right; root->right = root->left; root->left = nullptr; }};
0 0
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 知识库--Power of Concurrency (71)
- 12.第二节 SAPI概述
- /proc/loadavg
- hdu 1087 Super Jumping! Jumping! Jumping!
- 递归法实现折半查找
- 114. Flatten Binary Tree to Linked List
- java查看windows的磁盘空间大小信息
- 每日一记(1)
- HTTP的GET请求和POST请求
- Manual commit is not allowed over a Spring managed
- CMD启动MATLAB并执行脚本小结
- [leetcode]419. Battleships in a Board
- safds
- ViewHolder模式超简洁写法