2018年8月15日

摘要: 解法:使用按层遍历二叉树的非递归形式 每次到达此层末尾时就打印。 public class PrintTreeRightNode { public static class Node{ private Node left; private Node right; private int value; 阅读全文
posted @ 2018-08-15 22:54 刘文涛123 阅读(1623) 评论(0) 推荐(0) 编辑

2018年8月9日

摘要: 原理:链表功能强大,可在头或尾进行插入和删除。 public class ListToStack { LinkedList<Integer> linkedList = new LinkedList<>(); public void add(int value){ linkedList.addLast 阅读全文
posted @ 2018-08-09 22:46 刘文涛123 阅读(163) 评论(2) 推荐(0) 编辑

2018年8月8日

摘要: 一个整数数组中的元素有正有负,在该数组中找出一 个连续子数组, 要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。 比如数组{2,4,-7,5,2,-1,2,-4,3}的最大连续子数组为{5,2,-1,2},最大连续子数组的和为5+2-1+2=8。 问题输入就是一个数组,输出该 阅读全文
posted @ 2018-08-08 20:00 刘文涛123 阅读(168) 评论(0) 推荐(0) 编辑

2018年8月7日

摘要: 给定一个有N*M的整型矩阵matrix和一个整数K, matrix的每一行和每一 列都是排好序的。实现一个函数,判断K 是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返 回false。 【要求】 时间复杂度为O( 阅读全文
posted @ 2018-08-07 22:20 刘文涛123 阅读(352) 评论(0) 推荐(0) 编辑

2018年8月6日

摘要: 冒泡排序,就像一个个吐泡泡一样,每次经过一个循环,确定一个最大或最小的数。 public class BubbleSort { public static void main(String[] args) { int arr[] = {1,5,9,8,7,6,3,10}; bubblesort(ar 阅读全文
posted @ 2018-08-06 22:23 刘文涛123 阅读(72) 评论(0) 推荐(0) 编辑

2018年8月1日

摘要: 解题思路:创建hashmap,一个存K,数字,另一个存数字,K,每当插入元素时,将元素非别对应插入两个hashmap中目的是能够方变随机查找。 public class RandomPool { public static class Pool<K>{ private HashMap<K,Integ 阅读全文
posted @ 2018-08-01 22:19 刘文涛123 阅读(196) 评论(0) 推荐(0) 编辑

2018年7月31日

摘要: public class IsPanlindromeList { public static class Node{ Node next ; int value; public Node(int value){ this.value = value; } } //第一种方法,用了空间复杂度为n,将链 阅读全文
posted @ 2018-07-31 20:53 刘文涛123 阅读(220) 评论(0) 推荐(0) 编辑

2018年7月30日

摘要: 完全二叉树:每层结点都完全填满,在最后一层上如果不是满的,则只缺少右边的若干结点。如果一个节点有右孩子没有左孩子,直接返回false。(判断条件1)如果一个节点不是左右两个孩子都全(有左没右或左右都没有),则开启阶段,此时其余节点全是叶节点。(判断条件2)否则不是完全二叉树。 public clas 阅读全文
posted @ 2018-07-30 21:05 刘文涛123 阅读(211) 评论(0) 推荐(0) 编辑

2018年7月29日

摘要: 实现原理:假设queue,help两个队列。push操作时,将数据压入queue队列。pop操作时 将queue队列的数据只保留最后一个,其余压入help队列。然后将最后一个弹出。这样就保证了栈的后进先出,之后交换两个队列,有数据的一直存放在queue中。 public class QueueToS 阅读全文
posted @ 2018-07-29 23:08 刘文涛123 阅读(93) 评论(0) 推荐(0) 编辑

2018年7月28日

摘要: 实现思想:对于A,B两个栈,A作为压栈,B作为弹出栈。push操作时,将结果压入A栈,并且判断B栈是否为空,如果为空,则将A栈的元素全部移动到B栈pop操作时,判断A,B栈是否为空,如果同时为空,则跑抛出异常,如果不同时为空,判断B栈是否有元素。如果没有元素,则将A栈中元素全部移动到B栈中,进行弹出 阅读全文
posted @ 2018-07-28 23:04 刘文涛123 阅读(179) 评论(0) 推荐(0) 编辑

导航