题解 | #牛的回文编号#
牛的回文编号
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题目,