首页 > 其他分享 >【刷题笔记】9. Palindrome Number

【刷题笔记】9. Palindrome Number

时间:2023-08-08 13:32:04浏览次数:31  
标签:10 arr Palindrome false Number 121 palindrome 刷题 回文

题目

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?

题目大意

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

解题思路

  • 判断一个整数是不是回文数。
  • 简单题。注意会有负数的情况,负数,个位数,10 都不是回文数。其他的整数再按照回文的规则判断。

代码


package leetcode

import "strconv"

// 解法一
func isPalindrome(x int) bool {
	if x < 0 {
		return false
	}
	if x == 0 {
		return true
	}
	if x%10 == 0 {
		return false
	}
	arr := make([]int, 0, 32)
	for x > 0 {
		arr = append(arr, x%10)
		x = x / 10
	}
	sz := len(arr)
	for i, j := 0, sz-1; i <= j; i, j = i+1, j-1 {
		if arr[i] != arr[j] {
			return false
		}
	}
	return true
}

// 解法二 数字转字符串
func isPalindrome1(x int) bool {
	if x < 0 {
		return false
	}
	if x < 10 {
		return true
	}
	s := strconv.Itoa(x)
	length := len(s)
	for i := 0; i <= length/2; i++ {
		if s[i] != s[length-1-i] {
			return false
		}
	}
	return true
}


标签:10,arr,Palindrome,false,Number,121,palindrome,刷题,回文
From: https://blog.51cto.com/u_16110811/7007649

相关文章

  • 刷题记录(二)
    catcat-new点击主页的一个链接http://61.147.171.105:55571/info?file=Persiancat.txt可能存在任意文件读取漏洞,读取/etc/passwd文件读取当前进程的命令行参数?file=../../proc/self/cmdline,发现有一个通过python启动app.py的命令,得知网站使用的是python的flask框架。读取a......
  • 【刷题笔记】8. String to Integer (atoi)
    题目Implementthe myAtoi(strings) function,whichconvertsastringtoa32-bitsignedinteger(similartoC/C++'s atoi function).Thealgorithmfor myAtoi(strings) isasfollows:Readinandignoreanyleadingwhitespace.Checkifthenextcharact......
  • Compatible Numbers
    CompatibleNumbers思路对于一个数\(x\),如果想要构造一个数\(y\)使得\(x\&y=0\)那么显然对于\(x\)的每一位:如果当前位是0,那么\(y\)这一位可以填\(1,0\)如果当前位是1,那么\(y\)这一位可以填\(0\)那么对于用这种方式构造出来的数的一些位是可以互换的,而互......
  • 【刷题笔记】7. Reverse Integer
    题目Givena32-bitsignedinteger,reversedigitsofaninteger.Example1:Input:123Output:321Example2:Input:-123Output:-321Example3:Input:120Output:21**Note:**Assumewearedealingwithanenvironmentwhichcouldonlystoreintegerswi......
  • GO语言刷题
    ###GO刷题记录二分法查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums......
  • 【刷题笔记】6. ZigZag Conversion
    题目Thestring "PAYPALISHIRING" iswritteninazigzagpatternonagivennumberofrowslikethis:(youmaywanttodisplaythispatterninafixedfontforbetterlegibility)PAHNAPLSIIGYIRAndthenreadlinebyline: &q......
  • [刷题笔记] LuoguP1156 垃圾陷阱
    ProblemDescription题目描述了几个状态,我们来理顺一下:一头牛掉进了坑里,农夫会在几个时段向下扔垃圾,牛初始可以撑10h,对于每一个垃圾,牛可以:把它堆起来,一旦垃圾堆的高度超过\(h\),她就可以爬出来吃掉它垃圾好吃吗,并且获得能量值需要注意的是,牛可以撑到下一次垃圾投放的标......
  • 二维数组花式遍历(旋转,螺旋) [labuladong-刷题打卡 day5]
    矩阵旋转48.旋转图像难点主要在于:用翻转和镜像处理逆反和旋转,和逆转单词一样“难者不会,会者不难”,思路简单镜像的坐标对应关系处理语言特性的利用,不同语言有不同api,实际代码中会有很大不同,但思想一致如果确定矩阵维数,通过线性代数应该可以直接计算答案...classSolution......
  • [刷题笔记] Luogu P2014 [CTSC1997] 选课
    ProblemSolution我们发现本题中有好多主从关系,即要想取用一个儿子必须先取用她的父亲。构成了一个森林,处理不便。有个小技巧,就是将0号节点参与建树,最后所求节点数就变成了\(m+1\),且把森林变成了一棵树。然后如何处理呢?再次理解题意,我们发现,我们每次的决策是是否取用儿子,取用......
  • 嵌入式面试笔试刷题(day4)
    (文章目录)前言本篇文章继续为大家分享笔试和面试中的那些事。一、中断的概念中断是计算机系统中的一种机制,用于处理来自外部设备或内部事件的异步事件。当某个事件发生时,它会打断正在执行的程序,将控制权转移到特定的中断处理程序,然后在处理完中断后恢复原来的程序执行。二、......