摘要:
28. 实现 strStr() 知识点:字符串;KMP算法 题目描述 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明 当 nee 阅读全文
摘要:
12. 整数转罗马数字 知识点:字符串 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 阅读全文
摘要:
13. 罗马数字转整数 知识点:字符串 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 阅读全文
摘要:
剑指 Offer 58 - II. 左旋转字符串 知识点:字符串; 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 输入: s 阅读全文
摘要:
151. 翻转字符串里的单词 知识点:字符串;双指针 题目描述 给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面 阅读全文
摘要:
剑指 Offer 05. 替换空格 知识点:; 题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 输入:s = "We are happy." 输出:"We%20are%20happy." 解法一: 因为我们不知道最后替代后的长度是多少,所以可以用可变长的数组String 阅读全文
摘要:
344. 反转字符串 知识点:字符串; 双指针 题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表 阅读全文
摘要:
剑指 Offer 52. 两个链表的第一个公共节点 知识点:链表; 题目描述 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 示例 示例1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 阅读全文
摘要:
剑指 Offer 22. 链表中倒数第k个节点 知识点:链表;双指针 题目描述 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 阅读全文
摘要:
61. 旋转链表 知识点:链表; 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 输入:head = [0,1,2], k = 4 输出:[2,0,1] 解法一: 阅读全文