[LeetCode] 9.Palindrome Number - Swift
Determine whether an integer is a palindrome. Do this without extra space.
题目意思:判断一个整数是否是回文数
例如:123211,1221即为回文数,110则不是回文数
===================================================================
思路一:
现将这个整数反转,然后判断返转后的数是否与原来的是相等,相等则为回文数,反之则不是。
利用了上一题[LeetCode] 7.Reverse Integer - Swift的算法
实现代码:
class Solution {
func isPalindrome(_ x: Int) -> Bool {
if x <= 0 {
return false
}
var tmp: Int = x
var str: String = ""
var reverseX: Int = 0
while tmp/10 != 0 {
str = str.appending("\(tmp%10)")
tmp = tmp/10
}
str = str.appending("\(tmp)")
reverseX = Int(str)!
if reverseX == x {
return true
}
return false
}
}
===================================================================
思路二:(思路一的效率略低,参考了别人的思路)
整型分为两种情况:
第一种情况:奇数位,如121,走完while循环后leaveNum=1,newNum=12,根据leaveNum==newNum/10,则返回true,判断得出121是回文数
第二种情况:偶数位,如1221,走完while循环后leaveNum=12,newNum=12,根据leaveNum==newNum,则返回true,判断得出1221是回文数
这种方法循环执行的次数是思路一方法的一半,效率自然高!
class Solution {
func isPalindrome(_ x: Int) -> Bool {
if x < 0 || (x != 0 && x % 10 == 0) {
return false
}
var leaveNum = x
var newNum = 0
while leaveNum > newNum {
newNum = newNum * 10 + leaveNum % 10
leaveNum = leaveNum / 10
}
return (newNum == leaveNum || leaveNum == newNum / 10)
}
}
[LeetCode] 9.Palindrome Number - Swift的更多相关文章
- Leetcode练习题 Palindrome Number
9. Palindrome Number Question: Determine whether an integer is a palindrome. An integer is a palindr ...
- Leetcode 9. Palindrome Number(水)
9. Palindrome Number Easy Determine whether an integer is a palindrome. An integer is a palindrome w ...
- leetcode 9 Palindrome Number 回文数
Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. S ...
- LeetCode 9. Palindrome Number (回文数字)
Determine whether an integer is a palindrome. Do this without extra space. 题目标签:Math 题目给了我们一个int x, ...
- Leetcode 9. Palindrome Number(判断回文数字)
Determine whether an integer is a palindrome. Do this without extra space.(不要使用额外的空间) Some hints: Co ...
- [LeetCode][Python]Palindrome Number
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/palindr ...
- 蜗牛慢慢爬 LeetCode 9. Palindrome Number [Difficulty: Easy]
题目 Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could nega ...
- [LeetCode] 9. Palindrome Number 验证回文数字
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...
- 【leetcode】Palindrome Number
题目简述: Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could n ...
随机推荐
- C++之虚析构函数
代码一. #include <iostream> using namespace std; class Base { public: Base(){}; ~Base() { cout &l ...
- imooc 生鲜超市笔记
1.启动前端项目(Vue.js) cnpm run dev
- Android中<uses-sdk>属性和target属性分析
1. 概要 <uses-sdk> 用来描述该应用程序可以运行的最小和最大API级别,以及应用程序开发者设计期望运行的平台版本.通过在manifest清单文件中添加该属性,我们可以更好的控制 ...
- ibatis时间比较大小
<![CDATA[ A.RFID_Time >= #StartTime# ]]>时间搜索功能 A.RFID_Time <![CDATA[ ...
- cocos2dx中的一些坑
1.CCTableView中的lua绑定LUA_TableViewDataSource 在TestLua里有例子,有个TableView的例子function TableViewTestLayer.c ...
- cocosbuilder的一些坑
主要是大小写问题 在扁平发布模式下,如果存在大小写不同的文件,文件会被替换掉.而模拟上运行没问题,在真机上运行 有问题.找了半天才发现,坑啊!
- spark读取gz文件
spark 1.5.1是支持直接读取gz格式的压缩包的,和普通文件没有什么区别: 使用spark-shell进入spark shell 交互界面: 输入命令: sc.textFile("\h ...
- asp.net 正在加载/处理(兼容IE Chrome)
正在加载分两种 一种是页面初始化效果,也就是数据读取前,这个时候需要用ajax先显示读取中数据,当ajax回调的时候,读取页面数据 一种是界面读取中效果,就是用div显示,当OnPreRenderCo ...
- [Java] 一种好的JAVA分页实现
喃都不说了,贴代码,意思都在代码里面了 Page.java //分页类.定义分页字段信息,供前台页面使用 package com.core.common; import java.util.List; ...
- 去掉if
修改前 namespace CleanCSharp.Methods.Dirty { class BooleanSwitchingArgumentsExample { p ...