每日一道java筆試題 2020-9-23
每日一道java筆試題 2020-9-23
LeetCode:28. 實現 strStr()
實現 strStr()函式。
給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。
示例 1:
輸入: haystack = "hello", needle = "ll"
輸出: 2
示例 2:
輸入: haystack = "aaaaa", needle = "bba"
輸出: -1
說明:
當 needle
是空字串時,我們應當返回什麼值呢?這是一個在面試中很好的問題。
對於本題而言,當 needle
是空字串時我們應當返回 0 。這與C語言的 strstr() 以及 Java的 indexOf() 定義相符。
雙指標法:
package cn.lbl.face.leetCode;
public class 實現strStr {
public static int strStr(String haystack, String needle) {
//如果needle是空字串時,返回0
if (needle == null || needle.length()==0) {
return 0;
}
int i=0;
while (i<needle.length()) {
int index = haystack.indexOf(needle, i);
if (index == -1) {
return index;
}
i = index;
for (int j = 0; j < needle.length(); j++, index++) {
if (haystack.charAt(index) != needle.charAt(j)) {
break;
}
}
return i;
}
return -1;
}
public static void main(String[] args) {
System.out.println(strStr("aaaaa","bba"));
}
}
相關文章
- 從一道筆試題題說起筆試
- 面安服的一道筆試題筆試
- 一道TCL的筆試題---遞迴筆試遞迴
- java筆試題Java筆試
- 關於一道前端筆試題的思考前端筆試
- 一道JAVA 考試題 請高手指點Java
- 從一道春招筆試題說起 [上]筆試
- 一道關於block尺寸計算的筆試題BloC筆試
- 「每日一道演算法題」Reverse Integer演算法
- java基礎筆試題Java筆試
- 幾道Java筆試題Java筆試
- 一道關於筆試的多執行緒題目筆試執行緒
- Java筆試題怎麼做Java筆試
- ios基礎之一天一道筆試題(1)iOS筆試
- 你應該會的一道多執行緒筆試題執行緒筆試
- java執行緒的筆試題Java執行緒筆試
- java面試筆試題大彙總Java面試筆試
- 想了很久,一道Microsoft的筆試題目 —— Reversing Linked ListROS筆試
- 【校園招聘】一道筆試題看c++中virtual覆蓋筆試C++
- 每日一道演算法題:1.兩數之和演算法
- 一道java基礎陷阱題Java
- 一道java面試基礎題Java面試
- 重做一道Java面試題(Fork/Join)Java面試題
- 一道java面試題分析及思考Java面試題
- java面試筆試試題http://www.jobui.com/mianshiti/it/java/6827/Java面試筆試HTTPUI
- Android面試之Java基礎筆試題Android面試Java筆試
- 2017搜狐筆試題(Java實現)筆試Java
- 2017java筆試題及答案Java筆試
- 4.4上海交大PMP試題每日一題每日一題
- 一道setTimeout async promise執行順序的筆試題引發的思考Promise筆試
- Java筆試面試Java筆試面試
- 筆試題目——研發工程師筆試題筆試工程師
- Java程式設計師的筆試題10道Java程式設計師筆試
- 每日一道演算法題之矩陣的Z字型遍歷演算法矩陣
- 騰訊筆試題筆試
- shell 筆試題筆試
- SQL 筆試題SQL筆試
- 12.5上海交大PMP試題每日一題每日一題