![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
zzz_king
这个作者很懒,什么都没留下…
展开
-
剑指offer14、15
Offer 14输入一个链表,反转链表后,输出新链表的表头。思路分析,定义三个指针 pre mid behind,将pre指向链表的头节点,mid指向head.nex,behind指向mid.next,将mid.next指向pre,然后江三个指针后移一位,将mid.next指向pre,直到behind.next为null。//输入一个链表,反转链表后,输出新链表的表头。public class Offer4 { public static ListNode solution(ListNode原创 2020-08-07 19:52:32 · 109 阅读 · 0 评论 -
mysql 知识梳理和开始jvm的学习
每天一道 剑指offer5.用两个栈实现一个队列栈:先进后出队列:先进先出队列push操作:将元素放入stack1中。队列pop操作:如果stack2中没有元素,将stack1中的元素放入stack2中,再stack2.pop();如果stack2中有元素,直接stack2.pop();//用两个栈实现队列public class Offer5 { Stack<Integer> stack1 = new Stack<>(); Stack<Inte原创 2020-07-21 22:03:51 · 199 阅读 · 0 评论 -
剑指offer 重建二叉树
/** * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 */public class Offer4 { public static void main(String[] args) { int[] pre = {1,2,4,7,3,5,6,8}; int[] i.原创 2020-07-20 21:59:29 · 80 阅读 · 0 评论 -
剑指offer2,3
剑指offer 2替换空格实现一个函数,将一个字符串中的每一个空格替换成“%20”;例,当字符串为“We Are Happy”,则经过替换之后的字符串为“We%20Are%20Happy”//将字符串的每个空格替换成 %20 例:将“We Are Happy”替换成“We%20Are%20Happy”public class Offer2 { public static void main(String[] args) { String stringBuffer = repl原创 2020-07-19 17:30:35 · 62 阅读 · 0 评论 -
复习希尔排序,归并排序和快速排序
希尔排序希尔排序是插入排序的优化,添加了增长量的概念,将相距某个“增量”的记录组成一个子序列,在子序列中进行插入排序,然后减小增量,重复上述操作,继续进行排序,直至增量为一。对于增量,我们按照每次排序为数组的长度除以三减一(即 h=a.length/3-1 )每次的除以2,知道h为1.分析1.选定一个增量为h,以h为依据进行分组2.每组进行插入排序3.减小h的值,重复操作代码实现public class ShellTest1 { public static void main(原创 2020-07-14 15:02:59 · 698 阅读 · 0 评论 -
复习冒泡排序,选择排序和插入排序
冒泡排序冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果左边大于右边则交换,看起来像冒泡一样分析如下图:将3与44比较,3比44小,则不用交换,再用44与38比较,44大于38,交换,以此类推。代码的实现public class Bubble { /* 对数组a中的元素进行排序 */ public static void sort(int[] a){ //多少个元素参与冒泡 for (int i = a.length-1 ;原创 2020-07-14 09:51:17 · 142 阅读 · 0 评论