码迷,mamicode.com
首页 > 其他好文 > 详细

9. Palindrome Number

时间:2018-11-08 16:25:41      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:一个   etc   常见   int   class   color   rom   回文数   get   

题目链接:https://leetcode.com/problems/palindrome-number/description/

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?

 

思路:

  • 判断一个数是否为回文数,这里有两种常见的处理方法:
    • 方法一:将数字转换为string类型 ,然后对string首尾开始遍历,当遍历过程中,出现首尾不等的情况,则可判断数字不是回文数,若遍历完成没有出现不等的情况,则该数为回文数。
    • 方法二:和第一种方法其实也是异曲同工之妙,将数字进行取余和除数操作,即将数字按数位“一层层剥离”,例如:123,通过上述所述方法依次变为3、2、1。将分离出来的数字存入容器中,然后进行和方法一中的类似操作,也是在容器的首尾依次对容器中的元素进行遍历,处理手段同方法一。

 

编码如下

 1 class Solution {
 2 public:
 3     bool isPalindrome(int x) {
 4         if (x < 0)  return false;       // 负数不满足
 5         if (x < 10) return true;        // 0满足
 6         
 7         // 方法一:直接转换为string类型进行处理
 8         string s = to_string(x);
 9         
10         for (int i = 0, j = s.length() - 1; i <= j; ++i, --j)
11         {
12             if (s[i] != s[j]) return false;
13         }
14         
15         
16         // 方法二:对数字进行“逐层剥离”
17 //         vector<int> ivec;
18 //         while (x != 0)
19 //         {
20 //             int cur = x % 10;
21 //             ivec.push_back(cur);
22 //             x = x / 10;
23 //         }
24         
25 //         for (int i = 0, j = ivec.size() - 1; i <= j; ++i, --j)
26 //         {
27 //             if (ivec[i] != ivec[j]) return false;
28 //         }
29         
30         return true;
31     }
32 };

9. Palindrome Number

标签:一个   etc   常见   int   class   color   rom   回文数   get   

原文地址:https://www.cnblogs.com/ming-1012/p/9929186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!