高频口试算法题:回文数

打印 上一主题 下一主题

主题 1844|帖子 1844|积分 5542

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:9. 回文数

给你一个整数 x,假如 x 是一个回文整数,返回 true;否则,返回 false。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。


  • 例如,121 是回文,而 123 不是。
示例 1:
  1. 输入:x = 121
  2. 输出:true
复制代码
示例 2:
  1. 输入:x = -121
  2. 输出:false
  3. 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
复制代码
示例 3:
  1. 输入:x = 10
  2. 输出:false
  3. 解释:从右向左读, 为 01 。因此它不是一个回文数。
复制代码
提示:


  •                                         −                                       2                               31                                            -2^{31}                     −231 <= x <=                                                    2                               31                                      −                            1                                  2^{31} - 1                     231−1
进阶: 你能不将整数转为字符串来办理这个题目吗?
解题思绪

见代码。
实现代码

  1. package leetcode
  2. import "strconv"
  3. func isPalindrome(x int) bool {
  4.     if x < 0 {
  5.         return false
  6.     }
  7.     str := strconv.Itoa(x)
  8.     for i := 0; i < len(str)/2; i++ {
  9.         if str[i] != str[len(str)-i-1] {
  10.             return false
  11.         }
  12.     }
  13.     return true
  14. }
复制代码
单元测试

  1. package leetcode
  2. import (
  3.     "testing"
  4.     "github.com/stretchr/testify/assert"
  5. )
  6. func Test_isPalindrome(t *testing.T) {
  7.     assert := assert.New(t)
  8.     type args struct {
  9.         x int
  10.     }
  11.     tests := []struct {
  12.         args args
  13.         want bool
  14.     }{
  15.         {
  16.             args: args{x: 121},
  17.             want: true,
  18.         },
  19.         {
  20.             args: args{x: -121},
  21.             want: false,
  22.         },
  23.         {
  24.             args: args{x: 10},
  25.             want: false,
  26.         },
  27.     }
  28.     for _, tt := range tests {
  29.         actual := isPalindrome(tt.args.x)
  30.         assert.Equal(tt.want, actual)
  31.     }
  32. }
复制代码
  

  • 知识星球:令飞编程。10+ 高质量体系课( Go、云原生、AI Infra)、15+ 高质量实战项目,P8 技术专家助你提高技术天花板,打击百万年薪!
  • 我公众号:令飞编程,分享 Go、云原生、AI Infra 相关技术。回复「资料」免费下载 Go、云原生、AI 等学习资料;
  • 哔哩哔哩:令飞编程 ,以视频、直播的形式,分享技术、职场、课程、面经等;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表