題目:
給你一棵二叉搜索樹,請 按中序遍歷 將其重新排列為一棵遞增順序搜索樹,使樹中最左邊的節點成為樹的根節點,并且每個節點沒有左子節點,只有一個右子節點,
示例 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 node = new TreeNode();
TreeNode head = node;
public TreeNode increasingBST(TreeNode root) {
lrn(root);
return head.right;
}
public void lrn(TreeNode root){
if(root == null) return;
lrn(root.left);
node.right = new TreeNode(root.val);
node = node.right;
lrn(root.right);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/344801.html
標籤:其他
