028实现strStr()
#pragma once
#include "000库函数.h" /*********************自解**************/
//使用算法中的find 12ms
class Solution {
public:
int strStr(string haystack, string needle) {
if (haystack.size() == && needle.size() != )return -;
if (needle.size() == )return ;
return haystack.find(needle);
}
}; /********************博客解法*****************/
//使用暴力遍寻法 44ms
class Solution {
public:
int strStr(string haystack, string needle) {
if (needle.empty()) return ;
int m = haystack.size(), n = needle.size();
if (m < n) return -;
for (int i = ; i <= m - n; ++i) {
int j = ;
for (j = ; j < n; ++j) {
if (haystack[i + j] != needle[j]) break;
}
if (j == n) return i;
}
return -;
}
}; void T028() {
string haystack, needle;
haystack = "hello";
needle = "ll";
Solution s;
cout << s.strStr(haystack, needle) << endl;
haystack = "aaaaa";
needle = "bba";
cout << s.strStr(haystack, needle) << endl;
}
028实现strStr()的更多相关文章
- Java for LeetCode 028 Implement strStr()
		
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
 - 【LeetCode】028. Implement strStr()
		
Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle ...
 - 028 Implement strStr() 实现 strStr()
		
实现 strStr().返回蕴含在 haystack 中的 needle 的第一个字符的索引,如果 needle 不是 haystack 的一部分则返回 -1 .例 1:输入: haystack = ...
 - LeetCode 028 Implement strStr()
		
题目要求:Implement strStr() Implement strStr(). Returns the index of the first occurrence of needle in h ...
 - Java for LeetCode 214 Shortest Palindrome
		
Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. ...
 - [PHP源码阅读]strpos、strstr和stripos、stristr函数
		
我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. strpos mixed strpos ( strin ...
 - [LeetCode] Implement strStr() 实现strStr()函数
		
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
 - strstr 函数的实现
		
strstr函数:返回主串中子字符串的位置后的所有字符. #include <stdio.h> const char *my_strstr(const char *str, const c ...
 - 28. Implement strStr()
		
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
 
随机推荐
- spring_01概念及案例
			
1.什么是IOC? IOC概念:inverse of Controll,控制反转,所谓控制反转,就是把创建对象和维护对象关系的权利从程序中转移到spring的容器中(applicationContex ...
 - Centos6.5安装MySQL5.6备忘记录
			
Centos6.5安装MySQL5.6 1. 查看系统状态 [root@itzhouq32 tools]# cat /etc/issue CentOS release 6.5 (Final) Kern ...
 - How std::cout works [duplicate]
			
Question: I accidentally found: cout << cout; The output is some address. What does this addre ...
 - Docker 系列四(自定义仓库).
			
一.Docker hub 交互 Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker hub 中直接下载镜像来完成.接下来,来看一下怎么与 Docker ...
 - 2.对于所有对象都通用的方法_EJ
			
第8条: 覆盖equals时请遵守通用约定 我们在覆盖equals方法时,必须遵守它的通用约定: 1.自反性.对于任何非null的引用值x,x.equals(x)必须返回true: 2.对称性.对于任 ...
 - vue单页应用添加百度统计
			
前言 申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到 ...
 - Human Motion Analysis with Wearable Inertial Sensors——阅读3
			
Human Motion Analysis with Wearable Inertial Sensors——阅读3 四元数方向滤波器 之前的研究开发了一种自适应增益互补滤波器,并结合高斯 - 牛顿优化 ...
 - java方法中,传参是传值还是传址问题(对比C语言、C#和C++)
			
问题引出: 编写一个简单的交换值的小程序,如果我们只是简单地定义一个交换函数接收两个数,在函数内部定义一个中间变量完成交换.那么当我们把a,b两个实参传给这个函数时,往往得不到预期的结果.这是为什么呢 ...
 - HashMap 与 ConcrrentHashMap 使用以及源码原理分析
			
前奏一:HashMap面试中常见问题汇总 HashMap的工作原理是近年来常见的Java面试题,几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和Has ...
 - Genymotion安卓模拟器和VirtualBox虚拟机安装、配置、测试
			
Genymotion安卓模拟器和VirtualBox虚拟机安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.VirtualBox虚拟机安装 4.Genymotion安卓 ...