Skip to content

Commit b9c9dec

Browse files
committed
add string category
1 parent e9f0900 commit b9c9dec

File tree

9 files changed

+168
-0
lines changed

9 files changed

+168
-0
lines changed

Sort/08.SortColors/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Sort Colors(颜色分类)
2+
LeetCode 75
3+
[English](https://leetcode.com/problems/sort-colors/)
4+
[中文](https://leetcode-cn.com/problems/sort-colors/)
5+
6+
## 题目
7+
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
8+
9+
此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
10+
11+
注意:
12+
不能使用代码库中的排序函数来解决这道题。
13+
14+
示例:
15+
```
16+
输入: [2,0,2,1,1,0]
17+
输出: [0,0,1,1,2,2]
18+
```
19+
进阶:
20+
21+
- 一个直观的解决方案是使用计数排序的两趟扫描算法。
22+
首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。
23+
- 你能想出一个仅使用常数空间的一趟扫描算法吗?
24+
## 思路
25+
<details>
26+
<summary>点击展开</summary>
27+
// TODO
28+
</details>
29+
30+
## 代码实现
31+
| C | C++ | Java | Objective-C | Swift | Python | JavaScript | Go | PHP |
32+
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
33+
| 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 |
34+

String/01.ReverseString/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Reverse String (反转字符串)
2+
3+
LeetCode 334
4+
[English](https://leetcode.com/problems/reverse-string/)
5+
[中文](https://leetcode-cn.com/problems/reverse-string/)
6+
7+
## 题目
8+
编写一个函数,其作用是将输入的字符串反转过来。
9+
10+
示例 1:
11+
12+
输入: "hello"
13+
输出: "olleh"
14+
示例 2:
15+
16+
输入: "A man, a plan, a canal: Panama"
17+
输出: "amanaP :lanac a ,nalp a ,nam A"
18+
19+
## 思路
20+
<details>
21+
<summary>点击展开</summary>
22+
// TODO
23+
</details>
24+
25+
## 代码实现
26+
| C | C++ | Java | Objective-C | Swift | Python | JavaScript | Go | PHP |
27+
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
28+
| 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 |
29+

String/02.ReverseWords/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Reverse Words in a String(翻转字符串里的单词)
2+
3+
LeetCode 151
4+
[English](https://leetcode.com/problems/reverse-words-in-a-string/)
5+
[中文](https://leetcode-cn.com/problems/reverse-words-in-a-string/)
6+
7+
## 题目
8+
给定一个字符串,逐个翻转字符串中的每个单词。
9+
10+
示例:
11+
```
12+
输入: "the sky is blue",
13+
输出: "blue is sky the".
14+
```
15+
说明:
16+
17+
无空格字符构成一个单词。
18+
输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
19+
如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
20+
进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。
21+
22+
## 思路
23+
<details>
24+
<summary>点击展开</summary>
25+
// TODO
26+
</details>
27+
28+
## 代码实现
29+
| C | C++ | Java | Objective-C | Swift | Python | JavaScript | Go | PHP |
30+
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
31+
| 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 |
32+

String/03.StringToInteger/README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# String to Integer (atoi)(字符串转换整数 (atoi))
2+
3+
LeetCode 8
4+
[English](https://leetcode.com/problems/string-to-integer-atoi/)
5+
[中文](https://leetcode-cn.com/problems/string-to-integer-atoi/)
6+
7+
## 题目
8+
请你来实现一个 atoi 函数,使其能将字符串转换成整数。
9+
10+
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。
11+
12+
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
13+
14+
该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。
15+
16+
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。
17+
18+
在任何情况下,若函数不能进行有效的转换时,请返回 0。
19+
20+
说明:
21+
22+
假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,qing返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。
23+
24+
示例 1:
25+
```
26+
输入: "42"
27+
输出: 42
28+
```
29+
30+
示例 2:
31+
```
32+
输入: " -42"
33+
输出: -42
34+
解释: 第一个非空白字符为 '-', 它是一个负号。
35+
我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
36+
```
37+
38+
示例 3:
39+
```
40+
输入: "4193 with words"
41+
输出: 4193
42+
解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
43+
```
44+
45+
示例 4:
46+
```
47+
输入: "words and 987"
48+
输出: 0
49+
解释: 第一个非空字符是 'w', 但它不是数字或正、负号。
50+
因此无法执行有效的转换。
51+
```
52+
示例 5:
53+
```
54+
输入: "-91283472332"
55+
输出: -2147483648
56+
解释: 数字 "-91283472332" 超过 32 位有符号整数范围。
57+
因此返回 INT_MIN (−231) 。
58+
```
59+
60+
## 思路
61+
<details>
62+
<summary>点击展开</summary>
63+
// TODO
64+
</details>
65+
66+
## 代码实现
67+
| C | C++ | Java | Objective-C | Swift | Python | JavaScript | Go | PHP |
68+
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
69+
| 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 | 🤔 |
70+

String/04.BM/README.md

Whitespace-only changes.

String/05.RK/README.md

Whitespace-only changes.

String/06.KMP/README.md

Whitespace-only changes.

String/07.ACAuto/README.md

Whitespace-only changes.

String/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# String(字符串)
2+
3+
[01. 反转字符串](./01.ReverseString)

0 commit comments

Comments
 (0)