diff --git a/9 Algorithms Job Interview/1 字符串.md b/9 Algorithms Job Interview/1 字符串.md index a038344..bb05c37 100644 --- a/9 Algorithms Job Interview/1 字符串.md +++ b/9 Algorithms Job Interview/1 字符串.md @@ -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"