LeetCode 9. 回文数(C语言)

9. 回文数

Description


判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:
输入: 121
输出: true

示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

Analyze


给定函数如下:


  • @param x 一个整数
  • @return true or false

easy,负数肯定不符合题意,然后就是把整数反转判断两个数是否相等就行,只要注意溢出就行了,跟 LeetCode 7. 整数反转 和 LeetCode 8. 字符串转换整数 一模一样的方法,这里不多赘述

Realization


  • 负数处理
  • 溢出处理和主循环
  • 返回
  • 提交


附源代码


bool isPalindrome(int x){
    if(x < 0)return false;
    long sum = 0;
    int a = x;
    while(a)
    {
        sum = sum * 10 + a % 10;
        a /= 10;
    }
    if(sum == x)return true;
    return false;
}

你可能感兴趣的:(LeetCode 9. 回文数(C语言))