博客
关于我
LeetCode114.二叉树展开为链表[后序遍历典例]
阅读量:790 次
发布时间:2023-01-31

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

这道题首先要思考,肯定要用遍历二叉树,但是要用哪个遍历呢

最好的方法应该是后序遍历,把根结点放在最后一步访问

自底而上的方式顺序来重建链表

记得将右子树备份,左子树置空;

将左子树赋值给右子树,找到右子树的最后一个结点,把原来的右子树重新接上去

这样可以避免最后结果右子树顺序颠倒的问题

/** * 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;        //后序遍历        flatten(root->left);        flatten(root->right);        TreeNode* r = root->right;//将右子树备份        root->right = root->left;        root->left = NULL;//将左子树置空        while(root->right!=NULL)//找到右子树最后一个结点            root = root->right;        root->right = r;//把原来的右子树接上去    }};

 

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

你可能感兴趣的文章
2025版最新常用黑客工具之【Nmap 教程基础】零基础入门到精通,收藏这篇就够了
查看>>
2025版最新渗透测试和黑客工具列表,零基础入门到精通,收藏这一篇就够了
查看>>
2025版最新网络安全等级保护测评指南,零基础入门到精通,收藏这篇就够了
查看>>
2025版最新运维怎么转行网络安全?零基础入门到精通,收藏这篇就够了
查看>>
2025版最新黑客学习网站(非常详细),零基础入门到精通,看这一篇就够了
查看>>
2025版网络工程11个高含金量证书(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
2025自学成为黑客必读的5本书籍,带你从小白进阶成大佬
查看>>
23张图告诉你组建一个网络需要用到哪些硬件设备?路由器、交换机、防火墙是不是就够了?
查看>>
#12 btrfs文件系统
查看>>
#3194. 去月球
查看>>
$scope angular在controller之外调用
查看>>
(AS3)BitmapData.draw比BitmapData.copyPixel能做得更多
查看>>
CentOS 6.9 yum 和源码安装htop,适用于centOS 7
查看>>
centos 64位 hadoop编译
查看>>
CentOS 7 安装 postgreSQL 9.4
查看>>
CentOS 7 巨大变动之 systemd 取代 SysV的Init
查看>>
centos 7 静态IP,指定DNS
查看>>
flask框架高校竞赛信息管理系统(毕设源码+论文)
查看>>
flask框架魔方教学网站毕设源码+论文
查看>>
Flatterer: 快速JSON转换工具使用指南
查看>>