【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);
    }
}
相关推荐
POLITE32 分钟前
Leetcode 160.相交链表 JavaScript (Day 9)
javascript·leetcode·链表
Lucis__7 分钟前
哈希实现&封装unordered系列容器
数据结构·c++·算法·哈希封装
爱编程的小吴26 分钟前
【力扣练习题】热题100道【哈希】189. 轮转数组
算法·leetcode·哈希算法
wjykp28 分钟前
105~108SVMf
算法
leoufung40 分钟前
LeetCode 322. Coin Change:从错误思路到正确一维 DP
算法·leetcode·职场和发展
旧梦吟43 分钟前
脚本网页 双子星棋
算法·flask·游戏引擎·css3·html5
ullio1 小时前
arc205d - Non-Ancestor Matching
算法
wa的一声哭了1 小时前
内积空间 正交与正交系
java·c++·线性代数·算法·矩阵·eclipse·云计算
SWAGGY..1 小时前
数据结构学习篇(8)---二叉树
数据结构·学习·算法