题目:

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

  1. 示例 1:
  2. 输入: haystack = "hello", needle = "ll"
  3. 输出: 2
  4. 示例 2:
  5. 输入: haystack = "aaaaa", needle = "bba"
  6. 输出: -1

说明:
对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。

方法1:

  1. var strStr = function(haystack, needle) {
  2. return haystack.indexOf(needle);
  3. };

方法2:

  1. var strStr = function(haystack, needle) {
  2. if(needle==="") return 0;
  3. var len = haystack.length;
  4. for(let i=0;i<len;i++){
  5. if(haystack[i]==needle[0]){
  6. if(haystack.substring(i,i+needle.length)==needle) return i;
  7. }
  8. }
  9. return -1;
  10. };