【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);
    }
}
相关推荐
墨白曦煜15 分钟前
算法实战笔记:剥开回溯算法的外衣——从通用模板到高阶去重(八)
笔记·算法
z2005093027 分钟前
今日算法(回溯子集)(模版题)
数据结构·算法·leetcode
吴佳浩30 分钟前
Vibe Coding 时代,研发经理为何越来越值钱?
算法·架构
IronMurphy33 分钟前
【算法五十四】72. 编辑距离
算法
QiLinkOS36 分钟前
【用呼吸重构创造价值关系——QiLink生态】
c语言·数据结构·c++·人工智能·单片机·嵌入式硬件·算法
妄想出头的工业炼药师1 小时前
暗光长走廊特殊场景视觉解决方案
算法·开源
weixin_468466851 小时前
图像处理特征提取新手实战指南
图像处理·人工智能·算法·ai·机器视觉·特征提取
weixin_468466851 小时前
图像处理之形态学处理新手实战指南
图像处理·人工智能·算法·ai·机器视觉·形态学
晚风予卿云月1 小时前
【前缀和】一维前缀和 & 二维前缀和
数据结构·c++·算法
YL200404262 小时前
071字符串解码
数据结构·leetcode