题目链接
英文链接:https://leetcode.com/problems/number-of-segments-in-a-string/
中文链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string/
题目详述
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
1
2输入: "Hello, my name is John"
输出: 5
英文链接:https://leetcode.com/problems/number-of-segments-in-a-string/
中文链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string/
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
1 | 输入: "Hello, my name is John" |
英文链接:https://leetcode.com/problems/string-compression/
中文链接:https://leetcode-cn.com/problems/string-compression/
给定一组字符,使用原地算法将其压缩。
压缩后的长度必须始终小于或等于原数组长度。
数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。
在完成原地修改输入数组后,返回数组的新长度。
进阶:
你能否仅使用O(1) 空间解决问题?
示例 1:
1 | 输入: |
示例 2:
1 | 输入: |
示例 3:
1 | 输入: |
注意:
[35, 126]区间内。1 <= len(chars) <= 1000。英文链接:https://leetcode.com/problems/reverse-words-in-a-string/
中文链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/
给定一个字符串,逐个翻转字符串中的每个单词。
示例:
1 | 输入: "the sky is blue", |
说明:
进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。
英文链接:https://leetcode.com/problems/container-with-most-water/
中文链接:https://leetcode-cn.com/problems/container-with-most-water/
给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
说明:你不能倾斜容器,且 n 的值至少为 2。

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
示例:
1 | 输入: [1,8,6,2,5,4,8,3,7] |
英文链接:https://leetcode.com/problems/implement-strstr/
中文链接:https://leetcode-cn.com/problems/implement-strstr/
实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例 1:
1 | 输入: haystack = "hello", needle = "ll" |
示例 2:
1 | 输入: haystack = "aaaaa", needle = "bba" |
说明:
当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf()) 定义相符。
英文链接:https://leetcode.com/problems/intersection-of-two-arrays/
中文链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
1 | 输入: nums1 = [1,2,2,1], nums2 = [2,2] |
示例 2:
1 | 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] |
说明:
英文链接:https://leetcode.com/problems/reverse-vowels-of-a-string/
中文链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
1 | 输入: "hello" |
示例 2:
1 | 输入: "leetcode" |
说明:
元音字母不包含字母”y”。
英文链接:https://leetcode.com/problems/valid-palindrome/
中文链接:https://leetcode-cn.com/problems/valid-palindrome/
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
1 | 输入: "A man, a plan, a canal: Panama" |
示例 2:
1 | 输入: "race a car" |
英文链接:https://leetcode.com/problems/rotate-list/
中文链接:https://leetcode-cn.com/problems/rotate-list/
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。
示例 1:
1 | 输入: 1->2->3->4->5->NULL, k = 2 |
示例 2:
1 | 输入: 0->1->2->NULL, k = 4 |
英文链接:https://leetcode.com/problems/next-permutation/
中文链接:https://leetcode-cn.com/problems/next-permutation/
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。
如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。
必须原地修改,只允许使用额外常数空间。
以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1