题目内容

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number/

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

示例4

输入:x = -101
输出:false

提示:
−231−2^{31}−231 <= x <= 2312^{31}231 − 1

题解

个人题解(一):

class Solution {public:bool isPalindrome(int x) {if (x < 0) {return false;}// 先统计x的长度int length = 0;int x_length = x;while (x_length != 0){x_length /=10;length += 1;}// 再取后半段和前半段进行对比for (int i = 0; i < length/2; i++){// 先取后面的值int x_temp_r = x / pow(10, i);int temp_r = x_temp_r % 10;// 再取前面的值int x_temp_f = x / pow(10, length-i-1);int temp_f = x_temp_f % 10;if (temp_r != temp_f){return false;}}return true;}
};

执行结果

执行结果:通过
执行用时:8 ms, 在所有 C++ 提交中击败了86.00%的用户
内存消耗:6 MB, 在所有 C++ 提交中击败了11.90%的用户

个人题解(二):

class Solution {public:bool isPalindrome(int x) {if (x < 0 || (x != 0 && x%10 == 0)) return false;if (x == 0) return true;// 先统计x的长度int length = 0;int x_length = x;while (x_length != 0){x_length /=10;length += 1;}// 再取后半段和前半段进行对比for (int i = 0; i < length/2; i++){// 先取后面的值int x_temp_r = x / pow(10, i);int temp_r = x_temp_r % 10;// 再取前面的值int x_temp_f = x / pow(10, length-i-1);int temp_f = x_temp_f % 10;if (temp_r != temp_f){return false;}}return true;}
};

执行结果

执行结果:通过
执行用时:20 ms, 在所有 C++ 提交中击败了24.99%的用户
内存消耗:6 MB, 在所有 C++ 提交中击败了11.90%的用户

注解:

1. 在前面加一些单独的判断,只会增加执行用时,对整个程序的性能没有其他提升;
2. 加上大括号,执行用时会得到很大提升?
3. 为什么这样写
int temp_f = x / pow(10, length-1-i*2) % 10;
会报错?

LeetCode-9.回文数(大括号+双目运算符使用)相关推荐

  1. [模拟|数位] leetcode 9 回文数

    [模拟|数位] leetcode 9 回文数 1.题目 题目链接 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true ...

  2. 【LeetCode】回文数

    个人博客:https://jacob.org.cn package leetcode.editor.cn;//判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. ...

  3. LeetCode 9. 回文数

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

  4. leetcode isPalindrome (回文数判断)

    回文很简单,就是正着读和反着读一样,要判断一个数是否为回文数只需要判断正反两个是不是相等即可. 再往深了想一下,只需要判断从中间分开的两个数一个正读,一个反读相等即可. 代码: class Solut ...

  5. 20200119:(leetcode)回文数(3种解法)

    回文数 题目 基本思路 代码实现 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -1 ...

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

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

  7. leetcode 9 --- 回文数

    1 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 2 解法 2.1 初版 2.1.1 思路 由于题目不允许把数直接转化为字符串, 所以想到了把数的每一 ...

  8. leetcode记录-回文数

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

  9. LeetCode - 9. 回文数

    9. 回文数 class Solution {public boolean isPalindrome(int x) {String s = String.valueOf(x);char[] chars ...

  10. LeetCode 9. 回文数 Palindrome Number

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

最新文章

  1. 人脸妆容迁移---研究和思考
  2. Winpcap进行抓包,分析数据包结构并统计IP流量
  3. 使用 ZwUnmapViewOfSection 卸载并替换内存镜像
  4. JQuery + Json 练习随笔
  5. BUU OJ 做题记录
  6. Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结
  7. 想写好前端,先练好内功
  8. [转载] 蓝胡子国王的金钥匙
  9. 使用emacs作为mysql的客户端
  10. 10-20210308华为海思Hi3516DV300在鸿蒙系统下测试网络(以太网+WIFI)
  11. 【DNS应用案例】智能DNS赋能海运集团全球域名体系建设
  12. 怎样自动关闭计算机,如何设置电脑自动关机,教您电脑怎样设置自动关机
  13. E4A(易安卓)学习——第一个APP
  14. https://ipcrs.pbccrc.org.cn/
  15. SD卡CF卡U盘硬盘等磁盘属性显示为0字节怎么恢复数据
  16. 将UTC日期字符串转为本地时间字符串,如@yyyy-MM-dd'T'HH:mm:ssZ转换为本地时间
  17. 学习累了休息一下——————看完不笑你厉害
  18. Android开发——跳转到应用商店以及app详情页、获取手机硬件信息、验证app是否存在
  19. C语言<string.h>常用函数整理
  20. 企业办公共享文档用哪个软件好?

热门文章

  1. 边与最小割(bzoj 1797: [Ahoi2009]Mincut 最小割)
  2. matlab fspecial
  3. hbase工作 架构原理
  4. python机器学习案例系列教程——基于规则的分类器
  5. 事业单位考试高频考点二:经济
  6. java构建学生对象布尔类型,Java如何将原始布尔类型转换为布尔对象?
  7. Crackme017
  8. 一次失败的做题经历(HDU2112)
  9. 【剑指offer】62、圆圈中最后剩下的数字
  10. MyEclipse Web 项目导入 Eclipse 中需要改的文件