【LeetCode】9、回文数

打印 上一主题 下一主题

主题 784|帖子 784|积分 2352

【LeetCode】9、回文数

  

一、数学: 除法和取模

1.1 数学: 除法和取模

比方 15251, offset 也是五位数的 10000
先判定首1和尾1, 再变为 525, offset 变为 100
再判定首5和尾5, 再变为 2, offset 变为 1
整个过程若都符合, 则符合回文数
此中, 过程中需借助 offset 完成


  • 比方 15251, 则 offset 为 10000
  • 比方 152251, 则 offset 为 100000
  1. // go
  2. func isPalindrome(x int) bool {
  3.     if x < 0 {return false} // 负数肯定不是回文数
  4.     offset := 1
  5.     // x = 15251, offset = 1
  6.     // x = 15251, offset = 10
  7.     // x = 15251, offset = 100
  8.     // x = 15251, offset = 1000
  9.     // x = 15251, offset = 10000, for 循环不满足, 跳出循环, offset 变为 10000
  10.     for (x / offset >= 10) {
  11.         offset *= 10
  12.     }
  13.     for x != 0 {
  14.         if x/offset != x%10 { // 首位是 x/offset, 末尾是 x%10, 如 15251 的首1和尾1
  15.             return false
  16.         }
  17.         x = (x % offset) / 10 // 移除x 的首位和尾位, 如 15251 变为 525
  18.         offset /= 100 // 使 offset 再次和 x 的位数对齐, 即移除两位, 如 10000 变为 100
  19.     }
  20.     return true
  21. }
复制代码
参考 左神视频 超级回文数 中的一个步骤: 详见视频第1h处
二、多语言解法

                                    C                         p                         p                         /                         G                         o                         /                         P                         y                         t                         h                         o                         n                         /                         R                         u                         s                         t                         /                         J                         s                         /                         T                         s                              Cpp/Go/Python/Rust/Js/Ts                  Cpp/Go/Python/Rust/Js/Ts
  1. // cpp
复制代码
  1. // go 同上
复制代码
  1. # python
复制代码
  1. // rust
复制代码
  1. // js
复制代码
  1. // ts
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表