- 博客(15)
- 问答 (3)
- 收藏
- 关注
原创 二叉搜索树的第k个结点
题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:因为是二叉搜索树,所以可以用中序遍历的方式存储然后输出第k个结点,要注意为0和大于结点大小的K值;代码如下:import java.util.ArrayList;/*public class TreeNod
2016-08-10 14:45:19 1514
原创 数据流中的中位数
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路:主要是判断是奇数还是偶数 用按位与&去判别最后一位是1 还是 0 ,是0表示偶数,是1表示奇数代码如下:import java.util.Collections;im
2016-08-10 14:43:29 473
原创 把二叉树打印成多行
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。代码如如下:import java.util.ArrayList;import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/*public class TreeNode { int v
2016-08-09 15:59:09 576
原创 序列化反序列二叉树
题目描述请实现两个函数,分别用来序列化和反序列化二叉树思路:序列化的时候遇到null的结点就补充“#,” ,反序列化的时候先split(",");代码如下:/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; publ
2016-08-09 15:58:06 497
原创 对称的二叉树
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:主要先判断根节点下面的两个左右子节点是否相等,然后再用递归判断左子树的左孩子和右子树的右孩子是否相等,还有左子树的右孩子和右子树的左孩子是否相等,如果在递归的过程中并不满足则返回false;代码如下:/*public class TreeNode { int v
2016-08-08 16:57:58 409
原创 按之字形顺序打印二叉树
import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public
2016-08-08 16:55:45 503
原创 二叉树的下一个结点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。/*public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; TreeLinkNode
2016-08-07 17:35:12 457 5
原创 删除链表中重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5代码如下:/* public class ListNode { int val; ListNode next = null; ListNode(int val) {
2016-08-07 17:33:41 1108 5
原创 链表中环的入口结点
题目描述一个链表中包含环,请找出该链表的环的入口结点。思路:设置两个引用 A和B 指向头,然后一个走一步,一个走两步,然后找到相等的结点,然后再另一个从头开始,分别都走一步最后相等的就是环的入口结点代码如下:/* public class ListNode { int val; ListNode next = null; ListNode
2016-08-06 20:02:48 308
原创 字符流中第一个不重复
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:创建256个int大小的数组,然后分别++找出重复的代码如下:import java.util.Ar
2016-08-06 20:00:07 330
原创 表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是思路:用字符串转换代码如下:public class Solution { public boolean is
2016-08-06 19:58:07 258
原创 数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。思路:创建一个256的大小的数组,然后用循环找一下是否有重复的数字,然后用随机函数去输出一个即可否则为fals
2016-08-04 16:34:09 332
原创 把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。思路:设置两个标志位 一个tag 为1表示是正数,为0表示是负数,一个index,为‘+’则index是1,为‘-’则index是-1,什么都没index是0 再用一个result去接受所有的数,result =result * 10 + aa;从第一个开始慢慢加起来,不过每次都要判断是否上下
2016-08-04 16:32:35 456
原创 求1+2+3+...+n
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:用递归(结束条件是n==0)和&&的方式代码如下:public class Solution { public int Sum_Solution(int n) { int sum = n;
2016-08-03 18:54:19 612
转载 Java集合类详解
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Element
2016-08-01 21:09:05 172035 21
空空如也
spring+mybatis~!!!!!
2016-03-27
S2SH整合后发送邮件!!!!!!!!!!!!!
2016-03-22
S2SH整合后发送邮件!!!!!!!!!!!!!
2016-03-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人