The order of a Tree

题解:先建立一颗二叉搜索树,然后先序遍历

示例图

import java.util.Scanner;public class Main3 {public static void main(String[] args) {Scanner cin = new Scanner(System.in);while (cin.hasNext()) {int n = cin.nextInt();BinarySearchTree b = new BinarySearchTree();for (int i = 0; i < n; i++) {b.add(cin.nextInt());}b.show();b.answer();System.out.println();}}
}class Node {public int data;public Node left;public Node right;public Node(int data) {this.data = data;}public Node() {}
}class BinarySearchTree {private Node root;public void add(int val) {if (root == null) {root = new Node(val);} else {Node next = root;while (next != null) {if (val > next.data) {if (next.right == null) {next.right = new Node(val);break;} else {next = next.right;}} else {if (next.left == null) {next.left = new Node(val);break;} else {next = next.left;}}}}}public void show() {show(root);}private StringBuilder str = new StringBuilder();public void answer() {System.out.println(str.substring(0, str.length() - 1));}private void show(Node next) {str.append(next.data + " ");if (next.left != null) {show(next.left);}if (next.right != null) {show(next.right);}}
}

HDOJ-3999(二叉搜索树+先序遍历)相关推荐

  1. [Leetcode][第99题][JAVA][恢复二叉搜索树][中序遍历]

    [问题描述][困难] [解答思路] 1. 显示中序遍历 时间复杂度:O(N) 空间复杂度:O(N) class Solution {public void recoverTree(TreeNode r ...

  2. 【剑指offer-Java版】24二叉搜索树后序遍历序列

    二叉搜索树的后续遍历序列:既然是二叉搜索树,那么就满足左子树结点都大于或者小于根节点右子树都小于或大于根结点 根据搜索树的这种特点,将给定的树划分为左子树或者右子树,递归的处理左右子树 public ...

  3. 74. Leetcode 501. 二叉搜索树中的众数 (二叉搜索树-中序遍历类)

    给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素).如果树中有不止一个众数,可以按 任意顺序 返回.假定 BST 满足如下定义:结 ...

  4. 73. Leetcode 230. 二叉搜索树中第K小的元素 (二叉搜索树-中序遍历类)

    给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数).示例 1:输入:root = [3,1,4,null,2], k = 1 输出 ...

  5. 72. Leetcode 99. 恢复二叉搜索树 (二叉搜索树-中序遍历类)

    给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换.请在不改变其结构的情况下,恢复这棵树 .示例 1:输入:root = [1,3,null,null,2] 输出:[3,1, ...

  6. 49 - 算法 - 二叉树 - leetcode108.-将有序数组转换为二叉搜索树-中序遍历 - vector

    //vec 构造函数 vec.begin() end() + num ={134} =other vector //一直到null 就行 new(int) root->left ->rig ...

  7. 程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历)

    1. 题目 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-1 ...

  8. 23 二叉搜索树的后续遍历数列

    题目:二叉搜索树的后续遍历数列 要求:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 左图的正确后序遍历序列 ...

  9. 剑指offer之 二叉搜索树的后续遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. public class Solution {p ...

最新文章

  1. ThoughtWorks雷达上的新奇变化
  2. 困扰数学家50年的问题,竟被博士小姐姐用一周业余时间解决了
  3. 现存最古老计算机手册重见天日,比ENIAC要先进!
  4. vue请求在退出页面还执行吗_如何用 Cloudbase Framework 部署一个 Vue 项目
  5. py爬取英文文档学习单词
  6. Linux下主DNS与辅助DNS的配置(上)
  7. docker compose linux安装以及使用
  8. 星益云聚合收银台系统源码
  9. python php multiprocessing,Python多进程并发(multiprocessing)用法实例详解
  10. 应用优化-HTTP缓存
  11. paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结
  12. [Unity]存档功能
  13. 5款App帮你创建时间轴
  14. Terrasolid Suite v015-v016 for Microstation CONNECT, V8i, V8 for Windows platforms 1CD
  15. 登录时候输入验证码,验证码图片从服务器获取方法
  16. Java反射机制在工厂模式中的应用
  17. 【容斥原理】幸运数字
  18. java8 Exception全集
  19. 小伙利用Python绘制999种玫瑰花表白女神,会编程男孩子真好
  20. Java程序员拿着30、40k,就干curd和几个简单玩意儿,眼高手低?

热门文章

  1. vue核心原理之--理解Tree-Shaking
  2. 科技英语中换喻修辞格的理解与翻译
  3. uniapp 移动端 聊天框 获取聊天历史记录
  4. 2024武忠祥高数基础篇思维导图
  5. 流处理器知识概述:什么是流处理器?
  6. 博学谷学习记录】超强总结,用心分享 | 架构师 JVM内核调优学习总结
  7. 从语聊房 SDK 的诞生,看 PaaS 服务的演进过程
  8. 制作桌面精灵(动态桌面)——鼠标跟随的粒子效果
  9. 基于php的土特农产品销售网站设计与开发
  10. [LOJ2325][清华集训 2017]小Y和恐怖的奴隶主 矩阵乘法+奇技淫巧