LeetCode 114 二叉树展开为链表
题目链接:力扣
思路:递归
递归函数声明:
void flatten(TreeNode* root);
递归出口:
如果根节点为空,返回(不操作)
如果只有根节点,返回 (不操作)
递归体:
把左子树展开成单链表,根节点指向左孩子节点,把右子树展开成单链表
左子树单链表的尾结点指向右子树的头结点(左子树不为空)
当左子树为空时,根节点直接指向右子树展开的单链表的头结点
class Solution {
public:void flatten(TreeNode* root) {
if(root==NULL||!root->left&&!root->right)
{return;
}
TreeNode *l=root->left;flatten(l);
TreeNode *r=root->right;
flatten(r);
root->left=NULL;
root->right=l;
TreeNode *p=l;
if(p)
{
while(p->right)
{p=p->right;
}p->right=r;
}
else
{root->right=r;
}return ;}
};
LeetCode 114 二叉树展开为链表相关推荐
- LeetCode 114. 二叉树展开为链表(递归)
1. 题目 给定一个二叉树,原地将它展开为链表(右侧路径). 例如,给定二叉树1/ \2 5/ \ \ 3 4 6 将其展开为:1\2\3\4\5\6 来源:力扣(LeetCode) 链接:https ...
- Leetcode 114.二叉树展开为链表
Time: 20190901 Type: Medium 题目描述 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 来 ...
- Leetcode 114. 二叉树展开为链表 解题思路及C++实现
解题思路: 使用递归的方法.根结点的左子树中,最右边的节点是左子树成为链表后的最后一个节点,找到这个节点,然后把这个节点的右节点指向根结点的右子树,同时,将根结点右子节点指向其左子节点,根结点的左子节 ...
- 【LeetCode】【HOT】114. 二叉树展开为链表(原地置换)
[LeetCode][HOT]114. 二叉树展开为链表 文章目录 [LeetCode][HOT]114. 二叉树展开为链表 package hot;import java.util.ArrayLis ...
- java二叉树转换为链表_leetcode刷题笔记-114. 二叉树展开为链表(java实现)
leetcode刷题笔记-114. 二叉树展开为链表(java实现) 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 rig ...
- 力扣114. 二叉树展开为链表(C++,解释一下别人的思路)
题目链接: 114. 二叉树展开为链表 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/flatten-binary- ...
- 114. 二叉树展开为链表 golang
114. 二叉树展开为链表 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 Code /*** Definition ...
- leetocde —— 114. 二叉树展开为链表
给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 -------- 解题思路:借鉴windliang发布在leetcode题解上的第一个思路,利用先序遍历,将二叉树展开成一个链表. 将左子树插入 ...
- 【LeetCode笔记】114. 二叉树展开为链表(Java、递归)
文章目录 题目描述 解法 & 思路 思路一 思路二 题目描述 我佛了,这道题挺描述不明的,有坑,过不了oj建议马上看评论 or 题解 解法 & 思路 思路一 代码就不贴了,过不去 先序 ...
最新文章
- 20175320 2018-2019-2 《Java程序设计》第2周学习总结
- HDU5446:Unknown Treasure——题解
- 【机器学习基础】Python机器学习入门指南(全)
- gsettings命令使用简介
- CYQ.Data 数据框架 V4.0 开源版本发布(源码提供下载,秋色园V2.5版本标配框架)
- git flow使用
- 配置管理计划的主要内容有哪些?
- 分享2个java j2ee培训的ppt
- Oracle中文乱码
- 【鸿蒙】鸿蒙App应用-《记账软件》开发步骤
- WINRAR 4.00版注册方法
- 死灰复燃的ThinkPad SL400 同机型与同问题可参考!也可帮忙排错!
- python stdin stdout_Python子进程:给出stdin,读取stdout,然后给出更多stdin
- zabbix 监控下载安装
- SpringMVC简介及第一个MVC程序
- 华为android10手机指纹,华为P10这些指纹功能你知道几个?
- java和dba哪个好_你的性格适合做DBA吗?面试者必看
- gitlab rpm包安装方法
- go语言刷题:77. 组合
- 数据分析师的自我修养