【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);
    }
}
相关推荐
suuijbd21 分钟前
个人总结八股文之-基础篇(持续更新)
算法
2401_8812444023 分钟前
斐波那契数列------矩阵幂法
线性代数·算法·矩阵
机器学习与统计学1 小时前
阿里牛逼,又开源两个遥遥领先的模型(向量化、重排),知识库要翻天地覆了
算法
小河豚oO1 小时前
LeetCode刷题---贪心算法---944
算法·leetcode·贪心算法
【杨(_> <_)】1 小时前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
还不起来学习?1 小时前
常见算法题目5 -常见的排序算法
java·算法·排序算法
Once_day1 小时前
代码训练LeetCode(23)随机访问元素
算法·leetcode
小河豚oO1 小时前
LeetCode 热题 100 - 哈希 - 128
算法·leetcode·哈希算法
客卿1231 小时前
力扣100题之128. 最长连续序列
算法·leetcode·哈希算法
T1an-11 小时前
【力扣链表篇】206.反转链表
算法·leetcode·链表