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

114. 二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表:

  • 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
  • 展开后的单链表应该与二叉树 先序遍历 顺序相同。

思路:

对树进行先序遍历,存入队列,通过队列的数据重新构建树

先序遍历用递归进行

import java.util.LinkedList;
import java.util.Scanner;
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 {public void flatten(TreeNode root) {LinkedList<TreeNode> queue = new LinkedList<>();depread(root, queue);queue.poll();TreeNode curr = root;while (!queue.isEmpty()) {TreeNode node = queue.poll();curr.left=null;curr.right=node;curr=node;}}public void depread(TreeNode root, LinkedList<TreeNode> queue) {if (root == null) return;queue.add(root);depread(root.left, queue);depread(root.right, queue);}
}

http://www.dtcms.com/a/407046.html

相关文章:

  • 使用 C++ 开发 Vim 插件
  • 企业网站手机端开发家纺网站模板
  • 网站后台怎样登陆什么网站可以做卷子
  • 初始react
  • 从 0 开始理解 Spring 的核心思想 —— IoC 和 DI(2)
  • Spring Validation 校验
  • 好的做彩平图的网站网站的seo 如何优化
  • CTF攻防世界WEB精选基础入门:robots
  • 【网络套接字编程】基于UDP协议的公共聊天室项目
  • python爬虫技术的运用与分析
  • 站长之家查询域名网站建设与维护 电子版
  • 行业商城网站建设多少钱网站建设软件的英文
  • CSS3 核心知识点与实战案例专栏
  • 企业网站建设中存在的问题分析黄冈做网站的公司哪家好
  • 单片机常见的编程语言有哪些?
  • 2.CSS3.(2).html
  • 什么是TCP/UDP/HTTP?
  • 解决银行任务池场景并发问题
  • 济南企业免费建站3d渲染网站建设
  • git实用命令
  • 面相对象程序设计与模块
  • 四川泰龙建设集团公司官方网站网站服务器 要求
  • 主频72Mhz采用高性能的32 位ARM®Cortex®-M0+ 内核的PY32C673芯片
  • Linux 内核编译,打包
  • android网站开发教程建筑行业网站开发
  • 网站建设一般收费广告设计公司图片
  • C++项目:仿muduo库高并发服务器---------LoopThreadPool模块和TcpServer模块的实现
  • S7-200 SMART GET/PUT 指令深度解析:从参数到故障排查(S7 协议的客户端 - 服务器通信)上
  • C++11之异常
  • 网站开发软硬件网站建设应注意什么