当前位置: 首页 > news >正文

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

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

/**
 * 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);
    }
}

相关文章:

  • HTB靶机 - Dog记录
  • 【自学笔记】Solidity基础知识点总览-持续更新
  • 前端---CSS(前端三剑客)
  • Native层逆向:ARM汇编与JNI调用分析
  • 模型即产品:一场被低估的AI Agent革命正在发生
  • JavaScript 中 call 和 apply 的用法与区别
  • Qt-QChart实现折线图
  • 深入浅出矩阵的秩
  • 并发编程-
  • 数据传输对象 DTO
  • 【Kubernetes】Service 的类型有哪些?ClusterIP、NodePort 和 LoadBalancer 的区别?
  • Nginx 目录浏览功能显示的日期格式设置为数字
  • 表达式和语句的区别
  • 86.HarmonyOS NEXT 组件通信与状态共享:构建高效的组件协作机制
  • 206. 反转链表
  • 施磊老师c++(七)
  • 【人工智能基础2】Tramsformer架构、自然语言处理基础、计算机视觉总结
  • DeepSeek进阶应用(二):结合Kimi制作PPT(双AI协作教程)
  • ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术
  • 过滤空格(信息学奥赛一本通-2047)
  • wordpress+国内不使用/seo关键词排名价格
  • 福田网站建设哪家便宜/软文推广的100个范例
  • 深圳做网站的好公司/百度一下百度知道
  • 国外网购网站/公司想建个网站怎么弄
  • 国外教程 网站/吉林百度查关键词排名
  • 网站设计美工要怎么做/爱站网关键词长尾挖掘