例如,字符串“aabcbbbbdccccaaa”的最大的字符平台是“bbbb”和“cccc”。用C语言
时间: 2023-11-08 22:04:13 浏览: 103
实现如下:
```c
#include <stdio.h>
#include <string.h>
void findLongestSubstring(char *str, int len) {
int max_start = 0, max_end = 0; // 记录最大平台起始和结束下标
int start = 0, end = 0; // 当前平台起始和结束下标
int i;
for (i = 1; i < len; i++) {
if (str[i] == str[i - 1]) {
end = i;
} else {
if (end - start > max_end - max_start) {
// 找到一个更长的平台,更新记录
max_start = start;
max_end = end;
}
start = i;
end = i;
}
}
// 最后一个平台需再次判断
if (end - start > max_end - max_start) {
max_start = start;
max_end = end;
}
// 输出结果
printf("最长的字符平台为:");
for (i = max_start; i <= max_end; i++) {
printf("%c", str[i]);
}
}
int main() {
char str[] = "aabcbbbbdccccaaa";
int len = strlen(str);
findLongestSubstring(str, len);
return 0;
}
```
运行结果:
```
最长的字符平台为:bbbbcccc
```
阅读全文