【leetcode hot 100 114】二叉树展开为链表

解法一:执行一次先序遍历,把元素放入list中,然后放回root中

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    List<TreeNode> list = new ArrayList<>();

    public void flatten(TreeNode root) {
        // 执行一次先序遍历,把元素放入list中,然后放回root中
        preorder(root);
        TreeNode pre = root;
        for(int i=1;i<list.size();i++){
            pre.right = list.get(i);
            pre.left = null;
            pre = pre.right;
        }
    }

    public void preorder(TreeNode root){
        if(root==null){
            return;
        }
        list.add(root);
        preorder(root.left);
        preorder(root.right);
    }
}
相关推荐
贫道绝缘子30 分钟前
Leetcode-132.Palindrome Partitioning II [C++][Java]
java·c++·算法·leetcode
spatial_coder2 小时前
deepseek GRPO算法保姆级讲解(数学原理+源码解析+案例实战)
人工智能·算法
earthzhang20212 小时前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
小咖拉眯3 小时前
蓝桥杯进制问题秒破解法|冲击省一题单(二)
java·数据结构·算法·蓝桥杯
一只_程序媛3 小时前
【leetcode hot 100 146】LRU缓存
算法·leetcode·缓存
float_六七3 小时前
五大基础算法——贪心算法
算法·贪心算法
kkk16222453 小时前
C# Winform 实现换肤,并自定义皮肤功能
java·算法·c#
এ旧栎4 小时前
蓝桥与力扣刷题(蓝桥 星期计算)
java·数据结构·算法·leetcode·职场和发展·蓝桥杯·规律
mit6.8245 小时前
[Sum] C++STL oj常用API
c++·算法·leetcode
槐月初叁5 小时前
C++洛谷基础练习题及解答
开发语言·c++·算法