题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析: 题意明确,就是将一个字符串中的每个空格替换成“%20”,可以新建一个空字符串,遍历原字符串,遇到空格就添加“%20”,否则就 ...
分类:
编程语言 时间:
2019-11-06 00:58:49
阅读次数:
105
一、前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问。 二、LinkedHashMap用法 impo ...
分类:
其他好文 时间:
2019-11-02 20:17:39
阅读次数:
77
用于字符串匹配,复杂度O(n+m) 步骤: 1.b串自我匹配出f数组,其中f[i]表示以b[i]为结尾的后缀与前缀的最大匹配长度-1 2.依次与a串中每个字符匹配。i、j分别作为a与b的指针。 若a[i]==b[j] 两个指针后移,再判断j是否到达b末 否则 若j非0 j = 上一个匹配位置f[j- ...
分类:
其他好文 时间:
2019-10-31 22:12:06
阅读次数:
106
给定一个排序数组,需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度 数组nums=[0,0,1,1,1,2,2,3,3,4] 函数应该返回新的长度为5,并且原数组nums的前五个元素被修改为0,1,2,3,4。不要使用额外的数组空间,必须在原地修改输入数据并在O(1)额外 ...
分类:
编程语言 时间:
2019-10-31 16:21:58
阅读次数:
101
思路很简单,使用两个指针i和j,分别用来遍历字符串a和字符串b。使用一个全局变量carry来记录其进位,使用一个局部变量sum来记录每一次指针所指向的数字相加之和与carry的和。然后,重新给carry和sum赋值,让sum和carry等于0或1。最后如果carry等于1,就需要将它append。最 ...
分类:
其他好文 时间:
2019-10-27 01:21:37
阅读次数:
76
/** * 74. Search a 2D Matrix * https://leetcode.com/problems/search-a-2d-matrix/description/ * * Write an efficient algorithm that searches for a valu... ...
分类:
其他好文 时间:
2019-10-27 01:04:50
阅读次数:
93
package LeetCode_240 /** * 240. Search a 2D Matrix II * https://leetcode.com/problems/search-a-2d-matrix-ii/description/ * * Write an efficient algori... ...
分类:
其他好文 时间:
2019-10-27 00:56:21
阅读次数:
103
1.算法思路: 选择一个基准点,将数组中比基准点小的值移到基准值左边,比基准值大的移到基准值右边。然后递归调用,将基准值左右两边的数组做同样操作,递归结束的条件是数组只有一个元素。 基准点归位的方法: 设一头一尾两个指针,右指针向左找比第一个基准值小的数,左指针向右找第一个比基准值大的数,找到后交换 ...
分类:
编程语言 时间:
2019-10-26 01:21:58
阅读次数:
81
1.算法思路: (1)将待排序数组分为两份,利用递归将两份数组排好序 (2)将两个有序数组归并成一个有序数组。 实现方法: a.设置两个指针,分别指向两个数组的开头,比较指针所指向的数字,将较小的数字加入一个辅助数组中,指针前移,直到其中一个指针溢出 b.将未溢出的数组剩余的元素加入辅助数组中 c. ...
分类:
编程语言 时间:
2019-10-22 21:56:43
阅读次数:
108
用两个指针fast和slow指针(快慢指针),开始的时候指针都指向链表的Head节点,然后在每一步的操作中slow向前走一步:slow = slow.Next,而fast就向前走两步 :fast = fast.Next.Next;快指针fast由于比慢指针slow快,所以fast一定比slow先进入 ...
分类:
其他好文 时间:
2019-10-21 11:52:19
阅读次数:
80