题解 | #牛的回文编号#
牛的回文编号
https://www.nowcoder.com/practice/f864e31a772240f1b4310fbdc27fad48
考察知识点:回文字符串、翻转
题目分析:遍历一半的字符串,用前半部分的字符串和后半部分的字符串对比,是回文的话,这两部分的字符串是一样的,但是后半部分会是前半部分的倒叙。
详细解析在代码注释里。
采用的编程语言:C
完整的编码代码:如下所示
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型
* @return bool布尔型
*/
bool isPalindrome(int x ) {
char tmp[100000] = {0};
int len = 0, flag = 1;
snprintf(tmp, 100000, "%d", x); // 将int类型转为字符串,以方便判断
len = strlen(tmp); // 获取字符串的长度
// 判断字符串是否是回文
for (int i = 0; i < (len / 2); i++) { //遍历一半的字符串,用前半部分的字符串和后半部分的字符串对比,是回文的话,这两部分的字符串是一样的,但是后半部分会是前半部分的倒叙
if (tmp[i] != tmp[len-i-1]) { // 判断开头的字符和末尾的是否相等,相等就可以直接判断不是回文,可以直接返回
flag = 0;
break;
}
}
// 如果flag没有被置0,就表明字符串相同,是回文
if (flag)
return true;
else
return false;
}
面试高频TOP202解析 文章被收录于专栏
采用Java,C,Python等方法去解答面试高频TOP202题目,

查看19道真题和解析