力扣——实现 strStr()
实现 strStr()
实现 strStr() 函数。
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。
说明:
当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。
示例 1:
输入:haystack = “hello”, needle = “ll”
输出:2
示例 2:
输入:haystack = “aaaaa”, needle = “bba”
输出:-1
示例 3:
输入:haystack = “”, needle = “”
输出:0
提示:
0 <= haystack.length, needle.length <= 5 * 104
haystack 和 needle 仅由小写英文字符组成
通过次数472,555提交次数1,164,080
解法一:
package com.kk;public class RealizestrStr {public static int strStr(String haystack, String needle) {if(needle == null || needle == ""){return 0;}return haystack.indexOf(needle);//indexOf():查找一个字符串中,第一次出现指定字符串的位置。}
}
//indexOf用法
//https://wenwen.sogou.com/z/q849434101.htm
实现调用:
package com.kk;import java.util.Scanner;public class RealizestrStr {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String haystack=scanner.nextLine();String needle=scanner.nextLine();System.out.println(strStr(haystack, needle));}public static int strStr(String haystack, String needle) {if(needle == null || needle == ""){return 0;}return haystack.indexOf(needle);//indexOf():查找一个字符串中,第一次出现指定字符串的位置。}
}
//indexOf用法
//https://wenwen.sogou.com/z/q849434101.htm
indexOf用法
解法二:
public static int strStr(String haystack, String needle) {//解法二int n=haystack.length(),m=needle.length();for(int i=0;i+m<=n;i++){boolean flag=true;for (int j=0;j<m;j++){if (haystack.charAt(i+j)!=needle.charAt(j)){flag =false;break;}}if (flag){return i;}}return -1;}
}}}if (flag){return i;}}return -1;}
}
力扣——实现 strStr()相关推荐
- 力扣(LeetCode)刷题,简单题+中等题(第20期)
目录 第1题:判断能否形成等差数列 第2题:整数拆分 第3题:魔术索引 第4题:连续数列 第5题:字符串相加 第6题:数组拆分1 第7题:找出数组中的幸运数 第8题:期望个数统计 第9题:检查单词是否 ...
- 力扣(LeetCode)刷题,简单题(第14期)
目录 第1题:配对交换 第2题:比较字符串最小字母出现频次 第3题:交替位二进制 第4题:二进制间距 第5题:最后一块石头的重量 第6题:旋转数字 第7题:十进制整数的反码 第8题:连续子数组的最大和 ...
- 力扣(简单+中等)50题整理总结
文章目录 前言 一.简单题 1. 两数之和 7. 整数反转 9. 回文数 13. 罗马数字转整数 14. 最长公共前缀 20. 有效的括号 21. 合并两个有序链表 26. 删除有序数组中的重复项 2 ...
- 力扣编程题-解法汇总
一.力扣链接: 题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 备注:以后每个工作日从前往后刷一道题,然后再加一道每日新题.每天两道题. 二.模版: 标题: 力扣解法汇总5-正则表达 ...
- 力扣刷题记录_字符串(自学)
字符串 一.字符串 1.反转字符串(力扣344) 2.反转字符串 II(力扣541) 3.替换空格(剑指 Offer 05) 4.翻转字符串里的单词(力扣151) 5.左旋转字符串(剑指 Offer ...
- LeetCode 力扣算法题解汇总,All in One
作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...
- LeetCode(力扣)初级算法 字符串篇
目录 1.反转字符串 2.整数反转 2.1第一版代码 2.2第二版代码 3.字符串中的第一个唯一字符 3.1第一版代码 3.2第二版代码 3.3第三版代码 4.有效的字母异位词 4.1第一版代码 4. ...
- leetcode(力扣)刷题笔记(c++、python)【上】
文章预览: 数组 1.二分查找 704. 二分查找 相关题目: 35.搜索插入位置 34. 在排序数组中查找元素的第一个和最后一个位置 69.x 的平方根 367.有效的完全平方数 2.双指针 27. ...
- 【力扣刷题笔记】初级算法
初级算法 数组 1.删除排序数组中的重复项 题目 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.元素的 相对顺序 应该保持 ...
最新文章
- 双非山东科技胜过吉大,湖南大学超哈工大,US News2022世界大学排行榜引热议...
- Django模板用法
- 简单说一下Nginx配置说明
- 【26】Python Iterator笔记
- ASP.NET Page执行顺序如:OnPreInit()、OnInit()
- vst3插件_Blue Cat Audio Blue Cat PatchWork mac(蓝猫桥接插件)
- 两张趣图助你理解 HTTP 状态码
- 【Python】 dict 以key名 去重运算
- 复习Java异常处理_异常分类_自定义异常_线程初步了解
- java 类的传递_Java基本类型的传递
- 80多个Ajax解决方案
- STM32应用笔记分类汇总,值得收藏
- 淘宝宝贝排名影响因素有哪些?
- python的cubes怎么使用_Python measure.marching_cubes方法代碼示例
- 3A算法—自动对焦(AF)
- linux中shift用法,Linux shell脚本中shift的用法说明
- 辣评10月自主轿车销量:帝豪下滑 “寒冬”之下取暖还得靠新能源
- 2020-10-19 Nvidia与vGPU
- unity 平移图片_Unity3D研究院之脚本实现模型的平移与旋转(六)
- 2018年应届毕业宇视科技嵌入式软件开发工程师面试笔试总结