114. Flatten Binary Tree to Linked List
来源:互联网 发布:数据反馈的拳击手套 编辑:程序博客网 时间:2024/06/06 08:53
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
click to show hints.
Hints:
If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
题意:将一颗树变成平展的类型。
思路:对根结点处理时,将根的左子树挪为根的右子树,跟的右子树接到左子树的最右子树的右边的结点(这样确保右子树在所有左子树都访问完会访问到)。
/** * 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 == NULL)return;TreeNode* left = root->left;TreeNode* right = root->right;if (left != NULL){root->left = NULL;root->right = left;TreeNode* tmp = left;while (tmp->right){tmp = tmp->right;}tmp->right = right;}flatten(root->right);}};
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
- “正交阵”与“特征值和特征向量”
- Java开发中的23种设计模式详解(转)
- 父页面调用easyui datagrid
- 2016年7月最新Windows市场份额
- Android Volley,使用Volley加载网络图片
- 114. Flatten Binary Tree to Linked List
- spring 事物控制---多数据源与 atomikos 分布式事务配置(接之前未完成的部分)
- 卡特兰数
- Java编程思想第四版读书笔记——第十四章 类型信息
- Windows2008 server和win7如何取消禁ping
- 在路上
- 判断当前星期几
- json与jsonp
- 按两下退出登录