每日一道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"));
}
}
相關文章
- 從一道筆試題題說起筆試
- 面安服的一道筆試題筆試
- 從一道春招筆試題說起 [上]筆試
- 「每日一道演算法題」Reverse Integer演算法
- 想了很久,一道Microsoft的筆試題目 —— Reversing Linked ListROS筆試
- [每日一題]一道面試題是如何引發深層次的靈魂拷問?每日一題面試題
- Java筆試題怎麼做Java筆試
- 阿里一道Java併發面試題 (詳細分析篇)阿里Java面試題
- 一道阿里面試難題:如何計算JAVA物件大小?阿里面試Java物件
- ios基礎之一天一道筆試題(1)iOS筆試
- 你應該會的一道多執行緒筆試題執行緒筆試
- 一道面試題的分析面試題
- 【理解】一道 JS 面試題JS面試題
- 一道騷面試題目面試題
- 2020-9-23
- Android面試之Java基礎筆試題Android面試Java筆試
- 一道面試題考驗了你對java的理解程度面試題Java
- 每日一道演算法題:1.兩數之和演算法
- JAVA每日一題20201109Java每日一題
- java執行緒的筆試題Java執行緒筆試
- 每日一道面試題(第1期)---自定義handler如何有效保證記憶體洩漏問題面試題記憶體
- 一道面試題引起的思考面試題
- 一道面試題:去重排序面試題排序
- 一道柯里化面試題面試題
- 分享一道昨天的面試題面試題
- 一道筆試題:利用JS程式碼實現防抖和節流筆試JS
- 【Java】留下沒有基礎眼淚的面試題,java初級面試筆試題Java面試題筆試
- 每日一道Leetcode——上升下降字串LeetCode字串
- 一道阿里java多執行緒面試題的go版本實現阿里Java執行緒面試題Go
- 百度的一道 java 高頻面試題的多種解法Java面試題
- 一道setTimeout async promise執行順序的筆試題引發的思考Promise筆試
- 一道面試題引發的思考面試題
- 一道面試題引發的“血案”面試題
- 一道遞迴陣列面試題遞迴陣列面試題
- 來聊一道前端面試題吧前端面試題
- 分享一道Go面試必考的題Go面試
- 從一道前端面試題談起前端面試題
- [js]一道快取類面試題JS快取面試題