题解 | #牛的回文编号#

牛的回文编号

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题目,

全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务