面試題 01 09 字串輪轉

2022-08-24 14:12:13 字數 839 閱讀 2852

字串輪轉。給定兩個字串s1和s2,請編寫**檢查s2是否為s1旋轉而成(比如,waterbottle是erbottlewat旋轉後的字串)。

示例1:

輸入:s1 = "waterbottle", s2 = "erbottlewat"

輸出:true

示例2:

字串長度在[0, 100000]範圍內。

1

class

solution

7 }

有意思的錯誤分享:

剛開始把題目當成字串反轉後比對;

1

public

class

字串輪轉 910

public

static

void

main(string args)

14 }

學習記錄:

1、 == 和 equals的區別?

==:對於基本型別來說是值比較,對於引用型別來說比較的是引用;

equals:預設情況下是引用比較,而(string、integer等)類重寫了equals方法,變成了值比較;

2、stringbuilder是否也是值比較?

不是的!!

string在底層原始碼中重寫了equals方法,但是stringbuilder沒有重寫equals方法,所以它還是引用比較

//stringbuilder原始碼

public

boolean

equals(object obj)

我們可以將stringbuilder通過tostring轉換成string再進行值比較

面試題 01 09 字串輪轉

字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 字串長度在 0,100000 範圍內。說明 你能只呼叫一次檢查子串...

面試題 01 09 字串輪轉

難度 簡單 字串輪轉。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成 比如,waterbottle是erbottlewat旋轉後的字串 示例1 輸入 s1 waterbottle s2 erbottlewat 輸出 true 示例2 輸入 s1 aa s2 aba 輸出 false 字串...

面試題 01 09 字串輪轉

我又要開始暴力了,字串長度在 0,100000 範圍內的話o n 2 應該能過 時間o n 2 空間 o n 執行用時 48 ms,在所有 c 提交中擊敗了8.40 的使用者 記憶體消耗 334.2 mb,在所有 c 提交中擊敗了5.04 的使用者 class solution 不必判斷下面這個,否...