LeetCode114.二叉树展开为链表[后序遍历典例]
发布日期:2025-04-05 03:11:52 浏览次数:8 分类:精选文章

本文共 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;//把原来的右子树接上去    }};

 

上一篇:LeetCode136.只出现一次的数字[异或运算典例]
下一篇:LeetCode111.二叉树最小深度

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月24日 21时32分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Kubernetes实战(七)-优先级调度(Pod Priority Preemption) 2023-01-29
Kubernetes实战(三十一)-Calico网络部署(推荐) 2023-01-29
Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略) 2023-01-29
Kubernetes实战(三十二)-Kubeadm 安装 Kubernetes v1.24.0 2023-01-29
Kubernetes实战(三)-定向调度(NodeSelector) 2023-01-29
Kubernetes实战(二十九)-集群资源管理(CPU & Memory) 2023-01-29
Kubernetes实战(二十二)-Etcd 集群部署(安全) 2023-01-29
Kubernetes实战(二十五)-Flannel 网络部署(不推荐,不支持 Etcd3) 2023-01-29
Kubernetes实战(二十八)-环境共享与隔离(Namespace) 2023-01-29
Kubernetes实战(二十四)-kubernetes二进制文件方式部署集群(安全)(下) 2023-01-29
Kubernetes实战(十五)-敏感数据管理(Secret) 2023-01-29
Kubernetes对接Ceph存储实现云原生持久化 2023-01-29
Kubernetes对象Service详解 2023-01-29
kubernetes常用工具 2023-01-29
Kubernetes快速上手:部署、使用及核心概念解析 2023-01-29
Kubernetes故障排查与面试汇总 2023-01-29
Kubernetes故障排查实战 2023-01-29
kubernetes混合云平台运维实战项目分享 2023-01-29
kubernetes的概念介绍_服务发现负载均衡_存储编排_自动部署和回滚_自动完成装箱计算_自我修复_集群的方式_架构原理---分布式云原生部署架构搭建013 2023-01-29
kubernetes社区项目生态概览 2023-01-29