算法
canoe777
这个作者很懒,什么都没留下…
展开
-
07 URL化 08恢复空格
1.URL化 编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 示例1: 输入:"Mr John Smith ", 13 输出:"Mr%20John%20Smith" 示例2: 输入:" ", 5 输出:"%20%20%20%20%20" 提示: 字符串长度在[0, 500000]范围内。 IPO过程: I:输入一个将原创 2020-08-20 17:36:15 · 178 阅读 · 0 评论 -
05移除重复节点 06最长回文子串(动态规划)
1.删除重复节点 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3] 示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2] 提示: 链表长度在[0, 20000]范围内。 链表元素在[0, 20000]范围内。 IPO过程 I :输入一个链表 P:移除重复节点,保留最开始的节点 思路:采用双指针的做法,里层循环为将头指针固定,后续指针在移动,移动过程中如果出现与头指针的值相同的节点,删除该结点原创 2020-08-15 13:41:52 · 170 阅读 · 0 评论 -
03 把字符串转换成整数 04有重复字符串的排列组合
1.把字符串转换成整数 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假原创 2020-08-14 11:56:06 · 159 阅读 · 0 评论 -
01链表回文 02链表反向相加
1.简单一道 编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 链表的形式,我们可以直接将其转化为数组,采用while循环,head链表形式,将其值插入到数组中去,最后由数组转化为字符串,利用字符串的翻转来实现这一方式。 使用IPO方式: I:输入一个链表 P:(1)将链表转为数组形式 (2)将数组转为字符串形式 (3)利用数组的翻转函数reverse()转为翻转数组,再转为原创 2020-08-13 13:23:13 · 190 阅读 · 0 评论 -
剑指offer:面试必备,写一个函数,求两个整数之和,要求在函数体内不得使用 、-、*、/四则运算符号。
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路 既然不能用加减乘除,只能用位运算 左移( << 相当于乘法)、右移( >> 相当于除法 ) 、无符号右移( >>> ) 、位与( & ) 、位或( | )、位非( ~ )、位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符。 用IPO来表示: Input:假设输入的数字是2和3 Process:我们不能采用加法运算,但是我们可以位运算 01+00=0原创 2020-08-05 12:51:25 · 167 阅读 · 0 评论