vivo校招笔试真题&25届求职宝典-理工科版
回文字符串
【题目描述】
回文字符串就是正读和反读都一样的字符串,如“viv”、“nexen”、“12321”、“qqq”、“翻身把身翻” 等。
给定一个非空字符串 str,在最多可以删除一个字符的情况下请编程判定其能否成为回文字符串;如果可以则输出首次删除一个字符所能得到的回文字符串,如果不行则输出字符串 "false" 。
输入描述:
一个非空字符串
输出描述:
一个回文字符串,或者 "false" 字符串(如果无法构造出回文字符串的话)
备注:
1、输入仅包含数字或字母;
2、当分别删除不同的字符后,均可得到回文字符串时,输出首次删除一个字符所得到的回文字符串;若无法构造出回文字符串,则输出字符串false;
输入样例:
abda
输出样例:
Ada
说明:
删除字符串"abda"中的一个字符 ‘b’ 后,得到 "ada"是一个回文字符串;删除一个字符 ‘d’ 后,得到 "aba"也是一个回文字符串;所以最终输出为 "ada"。
【解题思路】
暴力枚举删除一个字符,然后判断是否满足回文即可。
【参考代码】
#include <bits/stdc++.h>
using namespace std;
bool is_parlin(const string& str) {
for (int i = 0, j = str.size() - 1; i <= j; ++i, --j) {
if (str[i] != str[j]) {
return false;
}
}
return true;
}
int main() {
string str;
cin >> str;
for (int i = 0; i != str.size(); ++i) {
string tmpstr{str};
tmpstr.erase(i, 1);
if (is_parlin(tmpstr)) {
cout << tmpstr;
return 0;
}
}
cout << "false";
}
......
资料全部内容请看《2025届求职宝典-理工科版》
不收费,2人组团即可免费领取!已经发出10000份,涵盖各大公司求职资料,助你事半功倍!
资料包含:
- 30+大厂面试真题+解析
- 软件方向:阿里、腾讯、百度、小米、华为、美团......
- 硬件方向:华为、比亚迪、汇川、新华三、中兴、海康威视......
- 机械方向:比亚迪、华为、美的、长江存储、宁德时代......
- 30+大厂岗位薪资爆料
- 30+大厂offer攻略
拿offer,别犹豫,点击马上领取>>https://www.nowcoder.com/link/campus_ziliao2024-0604115
电脑端请微信扫码>>
多说无益,直接上资料截图
每个方向专栏售价69元,但是参与2人组团就可免费领取!
点击马上领取>>https://www.nowcoder.com/link/campus_ziliao2024-0604115