面試基礎(一) 字串函式

2022-07-11 07:57:09 字數 2284 閱讀 5928

最新更新strncpy strstr函式

1 #include2 #include3

using

namespace

std;45

6int my_strlen(const

char *str)715

return

count;16}

1718

19int

main()

20

話說這真的不是很難,要說難一點的還是mem函式的記憶體覆蓋有點東西

1 #include2 #include3

using

namespace

std;45

int _strlen_r(const

char *str)610

11int my_strlen_r(const

char *str)

1217

return

1 + my_strlen_r(str + 1

);18 }

#include#include

using

namespace

std;

char *my_strcpy(char *dest,const

char *src)

*pdest = '\0'

;

return

dest;

}int

main()

還是有坑的,因為strcpy的實現是根據src引數的'\0'進行迴圈條件的判定,所以方向拷貝的時候記憶體不夠就會越界訪問了,還是蠻危險的,所以才推薦使用strncpy

使用strncpy的時候如果給的n值比src字串的長度要短,拷貝之後會變成「拷貝部分的dst」+「剩下的src」,如果要長,會把'\0'添上,那就只有src部分了,dst就打不出來了

1 #include2 #include3

using

namespace

std;

4char *my_strstr(char *str1, const

char *str2)519

}20}21

return

null;22}

23int

main()

24

子串查詢函式,,找到了返回找到的位置的指標,找不到返回null

啊!對了!最後說一句,引數型別和返回值還有引數的檢查都是考察中很重要的點,千萬不要在這裡大意,這種錯誤是面試官無法原諒的,迴圈那出點小錯面試官可能還能放你一馬,但是因為這種程式很基礎,引數這塊的細節非常讓面試官在意

字串(一) 字串Hash

今天開一手最不 tao 擅 yan 長的字串演算法 字串hash演算法。似乎提到字串的話,kmp應該是更為常見的一種,但是hash有它的優點,被犇們稱為 優雅的暴力 何謂hash?hash的中文稱為雜湊,這當然是音譯,直譯過來就是雜湊,或者也有叫預對映的。雜湊的作用就是通過某個特殊函式的對映,將任意...

第一字串 Trie Topology

bessie最近在玩字串。她發現通過改變字母的順序可以使一些字串排在其他所有的字串之前 按字典序從小到大排序 比如說,bessie找到了對於字串 omm moo mom 和 ommnom 她可以用標準的字母表把 mom 排在最前面,也可以用字母表 abcdefghijklonmpqrstuvwxyz...

演算法題(一) 字串

public static string submax string strarr else if max k system.out.println max return arrays.copyofrange strarr,start,end 1 給定兩個字串str1,str2。如果兩者字元種類和相...