925 長按鍵入

2021-10-05 16:07:11 字數 485 閱讀 5423

你的朋友正在使用鍵盤輸入他的名字name。偶爾,在鍵入字元c時,按鍵可能會被長按,而字元可能會被輸入1次或多次。檢查鍵盤輸入的字元typed,如果它對應的可能是你的朋友的名字(其中一些字元可能會被長按),那麼就返回true。

思路:該題使用了雙指標的思想。考慮題意是某個字元可以長按而不是可以按錯字元,出現名字中沒有的字元,這樣是錯誤的。

我們首先判斷鍵入的第乙個字元,要是不相等的話說明是錯的就沒有繼續判斷下去的必要了。

若相等則繼續去判斷。如果兩個字元都相等,就都向後移動,否則只移動鍵入的。這是需要判斷一下是否等於名字中的前乙個字元,因為只能是長按而不能是錯按了。

class

solution

else

}while

(j < ch2.length)

return i == ch1.length ?

true

:false;}

}

925 長按鍵入

解題思路 1.在typed中查詢name中的字元,分別遍歷兩個字串,如果在typed中有name中的字元,則flag true,並迴圈查詢直到遇到與當前name中的字元不相等的字元,此時的計數器為num2 2.迴圈遍歷name中的字元,直到遇到前後兩個字元不相等的字元,則開始下一輪遍歷,記錄name...

925 長按鍵入

你的朋友正在使用鍵盤輸入他的名字 name。偶爾,在鍵入字元 c 時,按鍵可能會被長按,而字元可能被輸入 1 次或多次。你將會檢查鍵盤輸入的字元 typed。如果它對應的可能是你的朋友的名字 其中一些字元可能被長按 那麼就返回 true。示例 1 輸入 name alex typed aaleex ...

925 長按鍵入

你的朋友正在使用鍵盤輸入他的名字 name。偶爾,在鍵入字元 c 時,按鍵可能會被長按,而字元可能被輸入 1 次或多次。你將會檢查鍵盤輸入的字元 typed。如果它對應的可能是你的朋友的名字 其中一些字元可能被長按 那麼就返回 true。雙指標i,j,遍歷name和typed,從0開始,若兩字元相同...