博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法】实现strStr()
阅读量:2057 次
发布时间:2019-04-28

本文共 1004 字,大约阅读时间需要 3 分钟。

实现  函数。

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

示例 1:

输入: haystack = "hello", needle = "ll"输出: 2

示例 2:

输入: haystack = "aaaaa", needle = "bba"输出: -1

说明:

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

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

public class Str {    public static void main(String[] args) {        String hystack = "a";        String needle = "a";        int result = strStr(hystack, needle);        System.out.println(result);    }    public static int strStr(String haystack, String needle) {        int hlen = haystack.length();        int nlen = needle.length();        if ("".equals(needle)){            return 0;        }        if (haystack.length() < needle.length()){            return -1;        }        int index = 0;        //<=是为了满足两者相等的情况        for (int i = 0; i <= hlen - nlen; i++) {            if (haystack.substring(i,i + nlen).equals(needle)){                return i;            }        }        return -1;    }}

 

 

转载地址:http://lvslf.baihongyu.com/

你可能感兴趣的文章
【托业】【跨栏】3
查看>>
【托业】【跨栏】REVIEW2
查看>>
【托业】【怪兽】TEST02
查看>>
【托业】【跨栏】TEST04
查看>>
【托业】【全真题库】TEST3-语法题+阅读题
查看>>
【托业】【跨栏】TEST06
查看>>
【托业】320题-语法题(03-04)(03-37、04-11)
查看>>
linux环境下安装redis扩展
查看>>
从json_encode过来的的字符串被返回到html页面时的解析
查看>>
用js判断是否为手机浏览,如果是手机浏览就跳转到手机站
查看>>
每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)
查看>>
Javascript的RegExp对象(转载自网络)
查看>>
rwx对于文件和目录的意义
查看>>
借助csv用PHP生成excel文件
查看>>
使用SimpleXML解析xml文件数据
查看>>
php读取excel文档内容(转载)
查看>>
vim基本命令(转载自网络)
查看>>
Linux学习(二十二)Shell基础(二)变量、环境变量配置文件
查看>>
Linux学习(二十四)正则表达式(二)sed
查看>>
Linux学习(二十三)正则表达式(一)grep/egrep
查看>>