博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Flatten Binary Tree to Linked List
阅读量:7066 次
发布时间:2019-06-28

本文共 1461 字,大约阅读时间需要 4 分钟。

 

class Solution {public:    //目的是将binary tree变成前序遍历的list,但是变换过程是后序遍历    void flatten(TreeNode *root, TreeNode *&first, TreeNode *&last){        if (!root)            return ;        TreeNode *leftFirst = NULL;        TreeNode *leftLast = NULL;        TreeNode *rightFirst = NULL;        TreeNode *rightLast = NULL;        flatten(root->left, leftFirst, leftLast);        //对于向下调用问题,递归的先处理子树        flatten(root->right, rightFirst, rightLast);    //对于向下调用问题,递归的先处理子树        first = root;                                    //对于向上返回问题,first肯定是root        if (root->right)                                //如果有右子树            last = rightLast;        else if (root->left)                            //没有右子树但是有左子树            last = leftLast;        else                                            //没有子树            last = root;        root->left = NULL;        if (leftFirst && !rightFirst){            root->right = leftFirst;        }        else if (!leftFirst && rightFirst){            root->right = rightFirst;        }        else if (leftFirst && rightFirst){            root->right = leftFirst;            leftLast->right = rightFirst;        }        else{            root->right = NULL;        }    }    void flatten(TreeNode *root) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if (!root)            return ;        TreeNode *first;        TreeNode *last;        flatten(root, first, last);    }};

 

 

 

 

 

 

EOF

转载地址:http://aqtll.baihongyu.com/

你可能感兴趣的文章
ttlsa教程系列之mongodb——(五)mongodb架构-复制原理&复制集
查看>>
虚拟主机通过修改.htaccess将入口重定向到public文件夹
查看>>
nginx快速安装
查看>>
Kinect for windows的脸部识别
查看>>
MySQL 运维笔记(一)—— 终止高负载SQL
查看>>
Carrie Higbie:数据中心的绿色布线之道
查看>>
ECS之初体验
查看>>
我的友情链接
查看>>
【风云原创】Flash技术将被Html5枪毙,Silverlight将何去何从?
查看>>
power shell测试wmi
查看>>
话里话外:成功CEO的用人之道——按需激励
查看>>
openwrt无线连接互联网的实现原理【1】
查看>>
WPS for Linux(ubuntu)字体配置(字体缺失解决办法)
查看>>
谷歌为Pwnium***竞赛再掷重金 将提供200万美元奖金
查看>>
搭建K8S高可用集群(二进制方式)
查看>>
BSON与JSON的区别
查看>>
我的友情链接
查看>>
Play Framework 模板里使用注入访问数据层
查看>>
Win2008学习(十一),解决Remote App Web访问的证书问题
查看>>
python 实现 自动oa 签到签退 发送邮件提醒
查看>>