114. 二叉树展开为链表

这篇博客探讨了如何将二叉树结构转换成链表,主要讲解了一个简单的思路,即通过调整二叉树的右子节点,将其移动到左子节点的末尾,实现转化过程。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一开始想就是想着优化思想,结果官方解答用的就是暴力解法。
然后看了其它的解答,发现思路其实很简单,通过不断的将右子树的结构挪到左子树的最右边的位置。

class Solution {
    public void flatten(TreeNode root) {
        while (root != null) {
            if (root.left == null) {
                root = root.right;
            } else {
                TreeNode pre = root.left;
                while (pre.right != null) {
                    pre = pre.right;
                }
                pre.right = root.right;
                root.right = root.left;
                root.left = null;
                root = root.right;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值