上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: 题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析push时将数据插入到第一个栈,当要弹出时,先将第一个栈中所有值弹出,并全部添加到第二个栈中。再弹出第二个栈顶元素,再讲第二个栈剩余值全部弹出到第一个栈。代码:i... 阅读全文
posted @ 2019-03-18 14:36 如是说 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。先来分析前序和... 阅读全文
posted @ 2019-03-18 13:53 如是说 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。方法一采用栈的思想,先进后出。 public ArrayList printListFromTailToHead(ListNode listNode) { ArrayList list... 阅读全文
posted @ 2019-03-18 13:43 如是说 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一传过来的参数是StringBuffer,我们可以使用StringBuffer类的rep... 阅读全文
posted @ 2019-03-18 13:39 如是说 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。实现:public class Solution { ... 阅读全文
posted @ 2019-03-18 13:32 如是说 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 快速排序介绍快速排序(Quick Sort)使用分治法策略,其基本思想是:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。快排流程:从数列中选取一个... 阅读全文
posted @ 2019-03-16 22:34 如是说 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 归并排序介绍归并排序(Merge Sort)就是利用归并的思想实现的排序方法。它的原理是假设初始序列含有fn个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n2\frac{n}{2}2n​]([x]表示不小于x的最小整数)个长... 阅读全文
posted @ 2019-03-16 20:17 如是说 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: 堆的定义堆是具有下列性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆;或者每个节点的值都小于或等于其左右孩子的值,称为小顶堆。如下图举例:通过堆的定义可知,根节点一定是对中所有节点的最大(小)值。较大(小)的节点靠近根节点(并不绝对,... 阅读全文
posted @ 2019-03-16 17:07 如是说 阅读(1283) 评论(0) 推荐(0) 编辑
摘要: 希尔排序原理希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所... 阅读全文
posted @ 2019-03-15 22:34 如是说 阅读(2209) 评论(0) 推荐(0) 编辑
摘要: 直接插入排序介绍 直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 怎么理解呢?就是将n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素,排序过程中每... 阅读全文
posted @ 2019-03-15 21:12 如是说 阅读(6420) 评论(2) 推荐(2) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页