问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3840 访问。

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

输入: 121

输出: true

输入: -121

输出: false

解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

输入: 10

输出: false

解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:

你能不将整数转为字符串来解决这个问题吗?


Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Input: 121

Output: true

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.

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?


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3840 访问。

public class Program {public static void Main(string[] args) {var x = 121;var res = IsPalindrome(x);Console.WriteLine(res);x = -567;res = IsPalindrome2(x);Console.WriteLine(res);x = 168861;res = IsPalindrome3(x);Console.WriteLine(res);Console.ReadKey();}private static bool IsPalindrome(int x) {//计算反转值if(x < 0) return false;var res = 0L;var value = x;while(x != 0) {res = res * 10 + x % 10;x = x / 10;}return res == value;}private static bool IsPalindrome2(int x) {//反转字符串if(x < 0) return false;var arr = x.ToString().ToCharArray();Array.Reverse(arr);return x.ToString() == new string(arr);}private static bool IsPalindrome3(int x) {//栈if(x < 0) return false;var palindrome = x.ToString();var stack = new Stack<char>();for(var i = 0; i < palindrome.Length / 2; i++) {stack.Push(palindrome[i]);}//奇数时,往后移一位int pos = 0;if(palindrome.Length % 2 == 1) {pos = 1;}for(var i = palindrome.Length / 2 + pos; i < palindrome.Length; i++) {if(palindrome[i] != stack.Pop()) return false;}return true;}}

以上给出3种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3840 访问。

True
False
True

分析:

显而易见,以上3种算法的时间复杂度均为: 

C#LeetCode刷题之#9-回文数(Palindrome Number)相关推荐

  1. LeetCode第9题 回文数(Palindrome Number)

    文章目录 题目地址 题目描述 代码实现 解法一:普通解法 解法二:进阶解法---数学解法 解法三:进阶解法---巧妙解法 题目地址 题目地址https://leetcode-cn.com/proble ...

  2. Leetcode 9. 回文数(Palindrome Number)

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  3. LeetCode 9. 回文数 Palindrome Number

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  4. LeetCode刷题——最长回文子串

    目录 一.题目描述 二.题解 三.源码 一.题目描述 二.题解 三.源码 class Solution(object):def longestPalindrome(self, s):"&qu ...

  5. C++判断一个数是否为回文数palindrome的算法(附完整源码)

    C++判断一个数是否为回文数palindrome的算法 C++判断一个数是否为回文数palindrome的算法完整源码(定义,实现,main函数测试) C++判断一个数是否为回文数palindrome ...

  6. C语言判断一个数是否是回文数Palindrome算法(附完整源码)

    判断回文数Palindrome的算法 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) #in ...

  7. Java实现 LeetCode 564 寻找最近的回文数(今天要GG在这道题了 头晕+题难(((φ(◎ロ◎;)φ))))...

    564. 寻找最近的回文数 给定一个整数 n ,你需要找到与它最近的回文数(不包括自身). "最近的"定义为两个整数差的绝对值最小. 示例 1: 输入: "123&quo ...

  8. 【刷题】验证回文字符串

    题目要求: 代码实现: bool validPalindrome(char* left, char* right){ //一次判断某字符串(或者片段)是否为回文字符串while(left < r ...

  9. php判断一个数是否是回文数,每周一道算法题001:回文数

    题目: 找出大于10的最小的2进制,8进制,10进制都是回文数的最小的数.回文数指的是正读和反读都是一样的数,例如:33,10001,123454321... 思路: 先转换进制,然后统一处理成字符串 ...

  10. python【力扣LeetCode算法题库】9- 回文数

    回文数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: ...

最新文章

  1. 影响线型缩聚物分子量的因素_【CRPS】通过硼烷引发剂实现氧气引发的超高分子量聚合物的可控合成...
  2. 显存文本模式详解 ———《x86汇编语言:从实模式到保护模式》读书笔记补遗02
  3. 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
  4. 不用Linux也可以的强大文本处理方法
  5. js 中的属性以数字开头的属性和取值
  6. 一步一步教您用websocket+nodeJS搭建简易聊天室(4)
  7. oracle——监听(一、多实例监听配置)
  8. React-Native集成dva.js
  9. mybatis比mysql安全吗_MyBatis 和 SQL 注入的恩恩怨怨
  10. 医药集采对药企有什么影响?
  11. Win10应用设计的那些事儿
  12. [散文]茶想(作者:王莹莹)
  13. php thinkphp 设置session的有效时间
  14. 介绍一款迷你版win10系统!电脑内存小的用户可入
  15. 多元回归分析。策略生成程序和策略分析程序二合一
  16. 九大背包问题专题--有依赖的背包问题(树形Dp结合)
  17. php拆分excel,PHP如何切割excel大文件(附完整代码)
  18. 基于单片机甲醛浓度监测系统仿真设计-毕设课设
  19. 科技节编程大赛三等奖作品——李白杨
  20. tirm php,PHP中trim 会导致乱码的原因

热门文章

  1. C++——复制构造函数的形参为什么要是const引用
  2. Linux——find命令常见用法
  3. C++——size_t 和 size_type的区别
  4. CSS——CSS创建样式表
  5. 公司的年度汇报怎么写 年底述职报告写法
  6. 首个windowsForm应用项目 1123
  7. TIDB GC life time is shorter than transaction duration解决方法
  8. 6.过滤器(Filter)
  9. Resid 学习笔记1-基础命令
  10. Anaconda 安装 ml_metrics package