6-11 删除字符 分数 10
时间: 2024-05-25 14:14:02 浏览: 14
题目描述:
给定一个字符串 s,你需要删除其中的一个字符,使得删除后的字符串是回文串。请编写一个函数,判断是否能够通过删除一个字符使得字符串变成回文串。
输入格式:
输入数据共一行,为一个长度不超过 10^5 的字符串 s。
输出格式:
若能通过删除一个字符使得字符串变成回文串,则输出 Yes,否则输出 No。
样例输入 1:
aba
样例输出 1:
Yes
样例输入 2:
abca
样例输出 2:
Yes
样例输入 3:
abcda
样例输出 3:
No
算法思路:
我们可以使用双指针的方法进行判断。具体地,我们使用两个指针 i 和 j,分别指向字符串的左右两端,然后让它们相互向中间移动,如果遇到不同的字符,那么我们就尝试删除左侧或者右侧的字符,再判断剩下的字符串是否是回文串。如果是回文串,那么我们就可以输出 Yes,否则就输出 No。
具体实现时,我们可以定义一个辅助函数来判断一个字符串是否是回文串。
C++代码如下:
相关问题
7-2 删除字符串中指定字母 分数 20 作者 齐心 单位 湖北汽车工业学院 请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出。例如,输入字符串abcaca,输出bcc。 输入样例: abcaca
以下是实现删除字符串中指定字母的代码:
```
#include <stdio.h>
int main() {
char str[100];
char *p = str;
gets(str); // 输入字符串
while (*p != '\0') { // 遍历字符串
if (*p != 'a') { // 如果不是字母a,则输出该字符
printf("%c", *p);
}
p++; // 指针后移
}
return 0;
}
```
该程序使用指针p遍历输入的字符串,如果当前字符不是字母a,则输出该字符。最后输出的字符串中就不包含字母a了。需要注意的是,输入的字符串应该使用gets函数读入,因为使用scanf函数读入字符串时无法读入空格。
6-2 14.3.2 删除字符串中的指定字符 分数 10 作者 chanel 单位 中国地质大学(北京) 编写函数deleteChar,用于删除字符串(传长不超过100)中指定的字符,将字符 串中与指定字符(非空格字符)相同的字符全部删除。 函数接口定义: void deleteChar(char *s, char c); 其中 s 是用户传入的字符数组的首地址,c是待删除的字符。 裁判测试程序样例: #include <iostream> using namespace std; void deleteChar(char *s, char c); int main() { char *str, ch; str=new char[81]; cin.getline(str,80); cin>>ch; deleteChar(str, ch); cout<<str; delete []str; return 0; } /* 请在这里填写答案 */ 输入格式: 第一行字符串。 第二行输入待删除字符ch。 输出格式: 输出删除所有ch字符后的字符串。 输入样例1: I Llove Lyou. L 输出样例1: I love you.
以下是函数deleteChar的实现:
```cpp
void deleteChar(char *s, char c) {
int i, j;
for (i = j = 0; s[i] != '\0'; i++) {
if (s[i] != c) {
s[j++] = s[i];
}
}
s[j] = '\0';
}
```
主要思路是使用两个指针 i 和 j,遍历字符串 s,当 s[i] 不等于待删除字符 c 时,将其复制到 s[j],然后 j 自增。最后在 s[j] 的位置添加字符串结束符 '\0'。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)