首页 > 其他分享 >leetcode-二叉树展开为链表

leetcode-二叉树展开为链表

时间:2023-02-03 18:00:54浏览次数:41  
标签:right TreeNode val int 链表 二叉树 root leetcode left


//leetcode submit region begin(Prohibit modification and deletion)

/**
* 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 {
public void flatten(TreeNode root) {
if (root == null) {
return;
}
flatten(root.left);
flatten(root.right);


TreeNode left = root.left;
TreeNode right = root.right;


root.left = null;
root.right = left;

TreeNode p = root;
while (p.right!=null) {
System.out.println(p.val);
p = p.right;
}
p.right = right;
}
}
//leetcode submit region end(Prohibit modification and deletion)

标签:right,TreeNode,val,int,链表,二叉树,root,leetcode,left
From: https://blog.51cto.com/u_12550160/6035983

相关文章

  • C语言-链表流星雨(EsayX)
    刷B站看到的,做个玩玩。IDE:VisualStudio2022。依赖EsayX图形库1-效果 2-程序/*链表流星雨单文件版本依赖EsayX图形库*/#include<stdio.h>#include<stdlib.h>......
  • BM35 判断是不是完全二叉树
    思路:判断一个二叉树是不是完全二叉树,先弄清楚二叉树的定义,只有最后一层和倒数第一层有叶子结点,也就是说当访问到空节点时,后面不应该再有节点可访问了。即空节点一定是在......
  • LeetCode刷题,代码随想录算法训练营Day3| 链表理论基础 203.移除链表元素 707.设计链
    链表理论基础链表是通过指针串联在一起的线性结构,每个节点由一个数据域和一个指针域构成。链表的类型单链表双链表有两个指针域,一个指向下一个节点,一个指向上一个节......
  • 【算法训练营day39】LeetCode62. 不同路径 LeetCode63. 不同路径II
    LeetCode62.不同路径题目链接:62.不同路径独上高楼,望尽天涯路第一次接触二维的dp数组,初始化会麻烦一点,dp数组表示的是机器人移动到第i行第j列格子的所有路径数。class......
  • 二叉树的遍历
    二叉树的遍历一、二叉树的遍历算法可以将二叉树的遍历分为:先序遍历(根、左、右),中序遍历(左、根、右),后序遍历(左、右、根)先序遍历动画(根、左、右)中序遍历......
  • BM26 求二叉树的层序遍历
    思路:逐层访问,通过访问当前层来得到下一层的节点。结束标志是下一层没有节点。Gopackagemainimport."nc_tools"/**typeTreeNodestruct{*Valint*Left......
  • 小白科普丨何为树、二叉树和森林?
    摘要:本文为大家带来树、二叉树和森林的表示及如何进行相互转换。本文分享自华为云社区《树、二叉树和森林的表示及相互转换》,作者:1+1=王。树的基本概念树的定义:树是n(n......
  • 【DFS】LeetCode 105. 从前序与中序遍历序列构造二叉树
    题目链接105.从前序与中序遍历序列构造二叉树思路先序遍历的顺序是根左右,中序遍历的顺序是左根右,所以在preorder数组中的首元素一定是当前树的树根,再从inorder数组......
  • 【DFS】LeetCode 235. 二叉搜索树的最近公共祖先
    题目链接235.二叉搜索树的最近公共祖先思路与【DFS】LeetCode236.二叉树的最近公共祖先一模一样代码classSolution{publicTreeNodelowestCommonAncesto......
  • UVA 12657 Boxes in a Line (双向链表)
    题意:给定N个盒子,分别标号为1~N;有下面4种操作:“1 X Y” 表示将X移到Y的左边;“2 X Y” 表示将Y移到Y的右边;“3 X Y” 表示交换X与Y的位置;“4”  表示将1~N所有的......