update string
This commit is contained in:
@@ -19,7 +19,10 @@
|
||||
char *revert_by_word(char *source);
|
||||
```
|
||||
|
||||
原地逆序,字符串2边的字符逐个交换 , 再按单词逆序; 也可以先按单词逆序,再对整个句子逆序;
|
||||
思路:
|
||||
|
||||
* 原地逆序,字符串2边的字符逐个交换 , 再按单词逆序;
|
||||
* 也可以先按单词逆序,再对整个句子逆序;
|
||||
|
||||
针对不允许临时空间的情况,也就是字符交换不用临时空间,可以使用的方法有:
|
||||
|
||||
@@ -83,18 +86,21 @@ char *revert_by_word(char *source){
|
||||
|
||||
>字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
|
||||
|
||||
如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
|
||||
如把`字符串abcdef`左旋转2位得到`字符串cdefab` 。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
|
||||
|
||||
```
|
||||
char *left_rotate(char *str,int offset){
|
||||
|
||||
}
|
||||
```
|
||||
我们可以abcdef分成两部分,ab和cdef,内部逆序以后,整体再次逆序,就可以得到想要的结果了,也就是跟上面的问题是同样的问题。
|
||||
|
||||
思路: 我们可以abcdef分成两部分,ab和cdef,内部逆序以后,整体再次逆序,就可以得到想要的结果了,也就是跟上面的问题是同样的问题。
|
||||
|
||||
|
||||
## 判断字符串是否是回文
|
||||
|
||||
> 回文,如 abcdcba
|
||||
|
||||
分析: 2个指针,一头一尾,逐个比较,都相同就是回文
|
||||
|
||||
```
|
||||
@@ -270,7 +276,7 @@ char *proc(char *str){
|
||||
|
||||
也就是实现函数atoi的功能,这道题目考查的就是对各种情况下异常处理。比如:
|
||||
|
||||
以"213"分析转换成证书的过程。3+1x10+2x100,思路是:每扫描到一个字符,把之前得到的数字*10,再加上当前的数字
|
||||
以`213`分析转换成证书的过程。`3+1x10+2x100` ,思路是:每扫描到一个字符,把 `之前得到的数字*10`,再加上当前的数字
|
||||
|
||||
* 0开头,"0213"
|
||||
* 正/负数,"-432" ,"--422","++23"
|
||||
|
||||
Reference in New Issue
Block a user