LeetCode 114. Flatten Binary Tree to Linked List 动态演示
2024-10-07 12:20:12
把二叉树先序遍历,变成一个链表,链表的next指针用right代替
用递归的办法先序遍历,递归函数要返回子树变成链表之后的最后一个元素
class Solution {
public:
void helper(TreeNode* cur, TreeNode*& tail){
//a(tail)
//lk("root",tail)
//a(cur)
//lk("root",cur)
//dsp
tail=cur;
TreeNode* right=cur->right;
//a(right)
//lk("root",right)
if(cur->left){
TreeNode *leftTail=NULL;
helper(cur->left, leftTail);
cur->right=cur->left;
cur->left=NULL;
tail=leftTail;
//dsp
} if(right){
TreeNode *rightTail=NULL;
helper(right, rightTail);
tail->right=right;
tail=rightTail;
//dsp
}
} void flatten(TreeNode* root) {
if(!root)
return;
//ahd(root) TreeNode *tail=NULL;
helper(root, tail);
}
};
程序运行动态演示:http://simpledsp.com/FS/Html/lc114.html
最新文章
- HTML基础知识
- PHP的ob_start()函数用法
- TAP/TUN(二)
- ios项目中安装和使用CocoaPods
- 几款开源的图形化Redis客户端管理软件
- PAT乙级 1004. 成绩排名 (20)
- golang执行linux命令
- GS玩家登录
- 在CENTOS下安装ORACLE 11g(LT项目开发参考)
- PHP之cookie相关实例教程与经典代码
- 关于asp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure的问题
- linux shell编程指南第十八章------控制流结构
- 最想做的三个Delphi项目:Paint,IM,SQL,另外还有Smart,TMS,FMX,UML,FreePascal,Python4Delphi,Cheat Engine
- 【算法】赫夫曼树(Huffman)的构建和应用(编码、译码)
- 地址四级联动的vue组件
- Android开发之手把手教你写ButterKnife框架(三)
- idea使用配置
- rem 转 px
- python通过openpyxl操作excel
- PHP安装Eclipse与使用