LeetCode算法题目:Flatten Binary Tree to Linked List
来源:互联网 发布:香港上水广场有mac吗 编辑:程序博客网 时间:2024/06/04 23:22
题目:
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
分析:
这道题要求把二叉树展开成链表,根据展开后形成的链表的顺序分析出是使用先序遍历,思路是先利用DFS的思路找到最左子节点,然后回到其父节点,把其父节点和右子节点断开,将原左子结点连上父节点的右子节点上,然后再把原右子节点连到新右子节点的右子节点上,然后再回到上一父节点做相同操作。
代码:
/** * 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) return; if(root->left) flatten(root->left); if(root->right) flatten(root->right); TreeNode *tem=root->right; root->right=root->left; root->left=NULL; while(root->right) root=root->right; root->right=tem; }};
1 0
- LeetCode算法题目:Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List
- [Leetcode] Flatten Binary Tree to Linked List
- [LeetCode] Flatten Binary Tree to Linked List
- Leetcode: Flatten Binary Tree to Linked List
- leetcode Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- 【leetcode】Flatten Binary Tree to Linked List
- [LeetCode]Flatten Binary Tree to Linked List
- [Leetcode]Flatten Binary Tree to Linked List
- [leetcode]Flatten Binary Tree to Linked List
- LeetCode-Flatten Binary Tree to Linked List
- [leetcode] Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- LeetCode:Flatten Binary Tree to Linked List
- 日期转换
- 关于混合开发RN遇到的问题
- 自动微分(Automatic Differentiation)简介
- java 判断String中是否包含中文
- 正则表达式
- LeetCode算法题目:Flatten Binary Tree to Linked List
- 剑指offer:(7)递归和循环:斐波那契数列
- js闭包与java反射的概念
- MySQL Key分区表创建方法介绍
- 你不知道的红楼梦
- studio2.3.1中please select at least one of the signature versions to use及提示未安装
- 提高工作效率的5款APP推荐 ,可能第一个你就没用过
- 21:三角形最佳路径问题
- AngularJs $cacheFactory 缓存服务