前端实习生笔试题
题目解法
1.回文数判断
用递归的思想实现一个函数:输入是一个字符串,输出是true或者false, true代表输入字符串是回文字符串,false代表不是
c++
思路
1、从两端开始相等判断,如果相同就继续迭代,直到指示位置a,b数相等或者a=b+1;否则不是回文数。
class Solution {
public:
bool isReverse(string s, int a, int b) {
if(a==b || a=b+1){
return true;}
if(s[a]==s[b]){
return isReverse(s, a+1, b-1);}
return false;
};
2、暴力求解,循环从两头做比较。
class Solution {
public:
bool isReverse(string s) {
if(s.empty()){
return false;}
for(int i = 0, j = s.size()-1; i < j; i++, j--){
if(s[i]!=s[j] && i<j){
return false;}
}
return true;
};
知识点
1、c++判断空字符串
if(s.em