9. 回文数

作者: 花果山松鼠 | 来源:发表于2018-07-17 17:10 被阅读1次

一、题目原型:

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

二、题目意思剖析:

回文数可以看作一个对称的字符串。

输入: 121
输出: true

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

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

三、解题思路:

第一种思路:用数组将每个数字存起来,看是否对称

1.如果该整数为负数,就不是回文数。比如-123,反过来是321-,不管如何反都不是。
2.遍历将余数保存在一个数组里,然后遍历该数组,如果左右对称 --array[i] == array[array.count - 1 - i],就是回文数。否则不是。

func isPalindrome(_ x: Int) -> Bool {
    if x < 0 {
        return false
    }
    var remainder: Int = 0
    var tempX: Int = x
    var array: Array = Array.init(repeating: 0, count: 0)
    while tempX != 0  {
        remainder = tempX % 10
        tempX = tempX / 10
        array .append(remainder)
    }
    
    for i in 0..<array.count {
        
        if array[i] != array[array.count - 1 - i] {
            
            return false
        }
    }
    return true
}
第二种思路:将数字反序,然后对比和原整数是否相等

(推荐,耗时较少,少了一步遍历的时间)

func isPalindrome(_ x: Int) -> Bool {
    if x < 0 {
        return false
    }
    
    var tempX: Int = x
    var result: Int = 0
    while tempX != 0  {
        result = result * 10 + tempX % 10
        tempX = tempX / 10
    }
    
    if result != x {
        return false
    }
    return true
}

四、小结

如果是第一种方法大概是300ms,第二种大概是200ms。

总提交数 提交结果

有其他好的方法请极速留言,非常乐意一起探讨。😄

相关文章

  • 【LeetCode通关全记录】9. 回文数

    【LeetCode通关全记录】9. 回文数 题目地址:9. 回文数[https://leetcode-cn.com...

  • 9. 回文数

    20180923-摘抄自9. 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是...

  • leetcode

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

  • 9. 回文数

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

  • [腾讯精选练习50题][2]LeetCode9

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

  • LeetCode 9. 回文数

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

  • 09. 回文数

    9. 回文数 难度:简单 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。...

  • LeetCode刷题笔记(七)数论

    七. 数论 7. 整数反转 题目:整数反转 9. 回文数 题目:回文数 69. x 的平方根 题目:x 的平方根 ...

  • 9.回文数

    题目 思路1.排除特殊情况2.取回文数3.比较代码

  • 9. 回文数

    内容 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入:...

网友评论

    本文标题:9. 回文数

    本文链接:https://www.haomeiwen.com/subject/czrgpftx.html