肥西县建设官方局网站,淘宝网页怎么制作,磁力宝,郑州全面恢复正常递增顺序搜索树 题目描述中序遍历代码演示 递归专题 题目描述 难度 - 简单 LC - 897. 递增顺序搜索树 给你一棵二叉搜索树的 root #xff0c;请你 按中序遍历 将其重新排列为一棵递增顺序搜索树#xff0c;使树中最左边的节点成为树的根节点#xff0c;并且每个节点没有左子… 递增顺序搜索树 题目描述中序遍历代码演示 递归专题 题目描述 难度 - 简单 LC - 897. 递增顺序搜索树 给你一棵二叉搜索树的 root 请你 按中序遍历 将其重新排列为一棵递增顺序搜索树使树中最左边的节点成为树的根节点并且每个节点没有左子节点只有一个右子节点。 示例1 输入root [5,3,6,2,4,null,8,1,null,null,null,7,9] 输出[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9] 示例2 输入root [5,1,7] 输出[1,null,5,null,7] 提示 树中节点数的取值范围是 [1, 100] 0 Node.val 1000 中序遍历 中序遍历的顺序是左 - 头 - 右。 结合二叉搜索的特点可以得出中序遍历是个递增的顺序。所以递增顺序就可以加工出需要的答案 然后根据列表中的节点值创建等价的只含有右节点的二叉搜索树其过程等价于根据节点值创建一个链表。 代码演示
/*** 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 {TreeNode dump new TreeNode(0);TreeNode temp dump;public TreeNode increasingBST(TreeNode root) { BST(root); return dump.right;}public void BST(TreeNode root){if(root null){return;}increasingBST(root.left);temp.right new TreeNode(root.val);temp temp.right;increasingBST(root.right);}
}递归专题
leetcode 655. 输出二叉树
leetcode687. 最长同值路径