zoukankan      html  css  js  c++  java
  • 897. 递增顺序查找树-未解决

    897. 递增顺序查找树

    https://leetcode-cn.com/contest/weekly-contest-100/problems/increasing-order-search-tree/

    package com.test;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    /**
     * @author stono
     * @date 2018/9/2
     * 897. 递增顺序查找树
     * https://leetcode-cn.com/contest/weekly-contest-100/problems/increasing-order-search-tree/
     */
    public class Lesson897 {
        public static void main(String[] args) {
            TreeNode t1 = new TreeNode(5);
            TreeNode t2 = new TreeNode(3);
            TreeNode t3 = new TreeNode(6);
            TreeNode t4 = new TreeNode(2);
            TreeNode t5 = new TreeNode(4);
            TreeNode t6 = new TreeNode(8);
            TreeNode t7 = new TreeNode(1);
            TreeNode t8 = new TreeNode(7);
            TreeNode t9 = new TreeNode(9);
            t1.left = t2;
            t1.right = t3;
            t2.left = t4;
            t2.right = t5;
            t3.right = t6;
            t4.left = t7;
            t6.left = t8;
            t6.right = t9;
            TreeNode.printNode(t1);
            TreeNode treeNode = increasingBST(t1);
            System.out.println();
            TreeNode.printNode(treeNode);
        }
    
        public static TreeNode increasingBST(TreeNode root) {
            TreeNode left = root;
            while (true) {
                if (left.left != null) {
                    left = left.left;
                }else {
                    break;
                }
            }
    
            List<Integer> list = new ArrayList<>(8);
            addAllValue(root, list);
            // 排序
            Collections.sort(list);
            TreeNode temp = left;
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i) - left.val == 0) {
                    continue;
                }
                TreeNode t2 = new TreeNode(list.get(i));
                temp.right = t2;
                temp = t2;
            }
            return left;
        }
    
        private static void addAllValue(TreeNode root, List<Integer> list) {
            if (root != null) {
                list.add(root.val);
                addAllValue(root.left, list);
                addAllValue(root.right, list);
            }
        }
    }
  • 相关阅读:
    DOM 与BOM
    尝试json文件导入数据
    js事件监听简介
    js事件简介
    js中的for语句简介
    作业练习正则表达式
    简单总结-BOM
    web前端第三次作业em,fr,rem,px简单解释及颜色表
    web第二次作业练习grid
    web前端课程第一次作业----注册页面代码(2018-9-14)
  • 原文地址:https://www.cnblogs.com/stono/p/9574315.html
Copyright © 2011-2022 走看看