求一个字符串中不带重复字母的最长substr的长度
2015-07-02 22:29
363 查看
问题描述:给出一个字符串,求该字符串的最长子字符串的长度,该子字符串没有重复的字符。例如:给定字符串“abcabca”,则返回的长度应该为3;再如给定字符串“aaaaaaaa”,则返回测长度应该为1.
解题思路:用一个临时字符串来存储当前字符串的没有重复字符的子字符串
int lengthOfLongestSubstring(char* s) {
if (s == NULL)
return 0;
}
解题思路:用一个临时字符串来存储当前字符串的没有重复字符的子字符串
int lengthOfLongestSubstring(char* s) {
if (s == NULL)
return 0;
char* temp = (char *)malloc(sizeof(char)*100);//为临时字符串申请存储空间 memset(temp,'\0',100); int i = 0; int len = strlen(s), len_temp = 0, maxlength = 0; char* pos; while(s[i] != '\0') { pos = strchr(temp,s[i]);//确定字符s[i]在临时字符串中的位置 if (pos== NULL)//未找到就将其存入临时字符串中 { temp[len_temp++] = s[i++]; } else//找到后的处理 { if (len_temp > maxlength) maxlength = len_temp; i -= temp+len_temp-pos-1;//i的值定位在字符串temp中字符s[i]的下一个位置 len_temp = 0; memset(temp,'\0',100); } } if (len_temp > maxlength) maxlength = len_temp; free(temp); return maxlength;
}
相关文章推荐
- 设计模式之策略模式
- poj 1975 Median Weight Bead
- C++ cout利用控制符dec、hex和oct,分别输出十进制、十六进制和八进制显示整数
- Python 2.7.9 Demo - isinstance
- android之ConnectivityManager简介,网络连接状态
- Python 2.7.9 Demo - 020.函数的定义、返回
- 查看图片的Domo
- Isomorphic Strings leetcode 205
- Linux基础-运维常用命令
- 用线程和借口分别实现的Java秒表
- 字符串统计
- android应用程序跳转到系统的各个设置页面
- 【转】NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行
- AI-随机迷宫&迷宫求解
- [LeetCode][JavaScript]Kth Smallest Element in a BST
- Android 查看图片
- JQuery实战---用户名校验
- for do_while() while()
- leetcode刷题 总结 记录, 备忘 62
- 如何让DIV水平和垂直居中