leetcode 114. 二叉树展开为链表

2023.10.22

本题第一反应就是将 原二叉树的节点值 用先序遍历的方式保存到一个集合数组中。然后再重新构造出新的二叉树。 java代码如下:

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 {
    private List<Integer> list = new ArrayList<>();
    private void preTravelsal(TreeNode cur){
        if(cur == null) return;
        list.add(cur.val);
        preTravelsal(cur.left);
        preTravelsal(cur.right);
    }
    public void flatten(TreeNode root) {
        if(root == null) return;
        preTravelsal(root);
        for(int i=1; i<list.size(); i++){
            root.right = new TreeNode(list.get(i));
            root.left = null;
            root = root.right;
        }
    }
}
相关推荐
QiLinkOS11 分钟前
第三视觉理解徐玉生与他的商业活动(28)
大数据·c++·人工智能·算法·开源协议
wabs6661 小时前
关于动态规划【力扣1143.最长公共子序列的思考】
算法·leetcode·动态规划
剑挑星河月1 小时前
54.螺旋矩阵
java·算法·leetcode·矩阵
Robot_Nav2 小时前
MPPI 局部规划器实验设计讲解
人工智能·算法·mppi
mingo_敏2 小时前
Mean-Teacher 均值教师自训练框架详解
算法·均值算法
星空露珠2 小时前
迷你世界UGc3.0脚本Wiki[剧情动画模块管理接口 Timeline]
开发语言·数据结构·算法·游戏·lua
笨笨没好名字2 小时前
Leetcode刷题python3版第一周(下)
linux·算法·leetcode
手写码匠3 小时前
手写 LLM 安全护栏:从内容审核到越狱防御的完整实现
人工智能·深度学习·算法·aigc
luj_17683 小时前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
青风973 小时前
16-ADAPTRACK:基于自适应阈值的多目标跟踪匹配算法
人工智能·算法·目标跟踪