题目描述
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121
Output: true
Example 2:
Input: -121
Output: false
Explanation: From left to right, it reads -121.
From right to left, it becomes 121-.
Therefore it is not a palindrome.
Example 3:
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Follow up:
Coud you solve it without converting the integer to a string?
GoLang 语法: 声明变量
- 一般形式
var name type = expression
(1) type
和 = expression
可以省略其中一个,但是不能都被省略,否则会报错(syntax error: unexpected newline, expecting type
)
- Short Variable Declaration
name := expression
(1)用于在函数内声明和初始化局部变量
(2)该语句也可以用于给已声明的变量赋值,但前提是该语句至少需要声明变量
(3)只有在同一定义域内声明过的变量,该语句才会表现为赋值操作。否则,即使是在外层定义域声明的变量,该语句也会重新声明和初始化一个新的同名变量
AC 代码
func isPalindrome(x int) bool {
if x < 0 {
return false
}
// reverseNum := 0
// var reverseNum = 0
// var reverseNum int
var reverseNum int = 0
var temp int = x
for temp != 0 {
reverseNum = reverseNum * 10 + temp % 10
temp /= 10
}
return (reverseNum == x)
}