File tree Expand file tree Collapse file tree 1 file changed +12
-8
lines changed
Contents/06.String/01.String-Basic Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Original file line number Diff line number Diff line change 66
77- ** 字符串名称** :字符串定义中的 ` s ` 就是字符串的名称。
88- ** 字符串的值** :$a_1a_2…a_n$ 组成的字符序列就是字符串的值,一般用双引号括起来。
9- - ** 字符变量** :字符串每一个位置上的元素都是一个字符变量。字符 $a_i$ 可以是字母、数字或者其他字符。` i ` 是该字符在字符串中的位置。
10- - ** 字符串的长度** :字符串中字符的数目 ` n ` 称为字符串的长度。
11- - ** 空串** :零个字符构成的串也成为 ** 「空字符串(Null String)」** ,它的长度为 ` 0 ` ,可以表示为 ` "" ` 。
9+ - ** 字符变量** :字符串每一个位置上的元素都是一个字符变量。字符 $a_i$ 可以是字母、数字或者其他字符。$i$ 是该字符在字符串中的位置。
10+ - ** 字符串的长度** :字符串中字符的数目 $n$ 称为字符串的长度。
11+ - ** 空串** :零个字符构成的串也成为 ** 「空字符串(Null String)」** ,它的长度为 $0$ ,可以表示为 ` "" ` 。
1212- ** 子串** :字符串中任意个连续的字符组成的子序列称为该字符串的 ** 「子串(Substring)」** 。并且有两种特殊子串,起始于位置为 ` 0 ` 、长度为 ` k ` 的子串称为 ** 「前缀(Prefix)」** 。而终止于位置 ` n - 1 ` 、长度为 ` k ` 的子串称为 ** 「后缀(Suffix)」** 。
1313- ** 主串** :包含子串的字符串相应的称为 ** 「主串」** 。
1414
@@ -22,25 +22,29 @@ str = "Hello World"
2222
2323![ ] ( https://qcdn.itcharge.cn/images/20220117141211.png )
2424
25- 可以看出来,字符串和数组有很多相似之处。比如使用 ` 名称[下标] ` 的方式来访问一个字符。之所以单独讨论字符串是因为:
25+ 可以看出来,字符串和数组有很多相似之处。比如同样使用 ` 名称[下标] ` 的方式来访问一个字符。
26+
27+ 之所以单独讨论字符串是因为:
2628
2729- 字符串中的数据元素都是字符,结构相对简单,但规模可能比较庞大。
2830- 经常需要把字符串作为一个整体来使用和处理。操作对象一般不是某个数据元素,而是一组数据元素(整个字符串或子串)。
2931- 经常需要考虑多个字符串之间的操作。比如:字符串之间的连接、比较操作。
3032
3133根据字符串的特点,我们可以将字符串问题分为以下几种:
3234
33- - 字符串匹配问题;
34- - 子串相关问题;
35+ - 字符串匹配问题。
36+ - 子串相关问题。
3537- 前缀 / 后缀相关问题;
36- - 回文串相关问题;
38+ - 回文串相关问题。
3739- 子序列相关问题。
3840
3941## 2. 字符串的比较
4042
4143### 2.1 字符串的比较操作
4244
43- 两个数字之间很容易比较大小,例如 ` 1 < 2 ` 。而字符串之间的比较相对来说复杂一点。字符串之间的大小取决于它们按顺序排列字符的前后顺序。比如字符串 ` str1 = "abc" ` 和 ` str2 = "acc" ` ,它们的第一个字母都是 ` a ` ,而第二个字母,由于字母 ` b ` 比字母 ` c ` 要靠前,所以 ` b < c ` ,于是我们可以说 ` "abc" < "acd" ` ,也可以说 ` str1 < str2 ` 。
45+ 两个数字之间很容易比较大小,例如 ` 1 < 2 ` 。而字符串之间的比较相对来说复杂一点。字符串之间的大小取决于它们按顺序排列字符的前后顺序。
46+
47+ 比如字符串 ` str1 = "abc" ` 和 ` str2 = "acc" ` ,它们的第一个字母都是 ` a ` ,而第二个字母,由于字母 ` b ` 比字母 ` c ` 要靠前,所以 ` b < c ` ,于是我们可以说 ` "abc" < "acd" ` ,也可以说 ` str1 < str2 ` 。
4448
4549字符串之间的比较是通过组成字符串的字符之间的「字符编码」来决定的。而字符编码指的是字符在对应字符集中的序号。
4650
You can’t perform that action at this time.
0 commit comments