首页 > 其他分享 >leetcode-9

leetcode-9

时间:2024-07-29 14:08:04浏览次数:9  
标签:origin 10 return int length1 length leetcode

题目:

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

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

例如,121 是回文,而 123 不是

推导:

自己硬写的。

代码:

 1 class Solution {
 2 public:
 3     bool isPalindrome(int x) {
 4         // 定义 origin 防止 x 后续被修改后无法与 y 进行比较
 5         // 其实这题只需要比较一半的数字就行,我这次是全部比较了
 6         int origin = x;
 7         int origin2 = x;
 8         int length = 0;
 9         int length1 = 0;
10         int y = 0;
11         if (x < 0) return false;
12         if (x < 10 && x >= 0) return true;
13         // 首先计算 x 的长度
14         while (x > 0) {
15             x /= 10;
16             length++;
17         }
18         length1 = length / 2;
19         int length2 = length1;
20         while (length1 > 0) {
21             y = y * 10 + origin % 10;
22             origin /= 10;
23             length1--;
24         }
25         string origin3 = to_string(origin2);
26         string y1 = to_string(y);
27         // 注意:如果length == 0,这里的length2也为0,这就导致我们不能对x为个位数的情况讨论,因此对个位数的讨论要放在最开头。
28         if (y1 == origin3.substr(0,length2)) {
29             return true;
30         } else {
31             return false;
32         }
33     }
34 };

 

标签:origin,10,return,int,length1,length,leetcode
From: https://www.cnblogs.com/2277241439qaq/p/18329926

相关文章

  • LeetCode682
    classSolution{  publicintcalPoints(String[]operations){    int[]a=newint[1000];    intj=0;    intsum=0;    for(inti=0;i<operations.length;i++){        if("+".equals(operations[i])){ ......
  • LeetCode LCR 124.推理二叉树(哈希表 + 建树)
    某二叉树的先序遍历结果记录于整数数组 preorder,它的中序遍历结果记录于整数数组 inorder。请根据 preorder 和 inorder 的提示构造出这棵二叉树并返回其根节点。注意:preorder 和 inorder 中均不含重复数字。示例1:输入:preorder=[3,9,20,15,7],inorder=......
  • leetcode-8,真恶心
    题目:请你来实现一个 myAtoi(strings) 函数,使其能将字符串转换成一个32位有符号整数。推导:代码:1classAutomaton{2public:3intsign=1;//初始化默认符号4longlongans=0;//初始化整数5unordered_map<string,vector<string>>table......
  • LeetCode 408场周赛,Q3. 统计 1 显著的字符串的数量;问题分析
    https://leetcode.cn/contest/weekly-contest-408/problems/count-the-number-of-substrings-with-dominant-ones/description/、、这题难度是middle,但是确实有点强思维的味道,赛时思考了许久,没想到好方向,最后想了个线段树的解法。。当然最后超时了861/884,二十多个用例过不去;......
  • LeetCode530. 二叉搜索树的最小绝对差
    题目链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst/description/题目叙述:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输......
  • LeetCode654. 最大二叉树
    题目链接:https://leetcode.cn/problems/maximum-binary-tree/description/题目叙述给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大......
  • (leetcode学习)295. 数据流的中位数
    中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如arr=[2,3,4] 的中位数是3 。例如 arr=[2,3]的中位数是(2+3)/2=2.5。实现MedianFinder类:MedianFinder()初始化MedianFinder 对象。voidaddN......
  • LeetCode700. 二叉搜索树中的搜索
    题目链接:https://leetcode.cn/problems/search-in-a-binary-search-tree/description/题目叙述:给定二叉搜索树(BST)的根节点root和一个整数值val。你需要在BST中找到节点值等于val的节点。返回以该节点为根的子树。如果节点不存在,则返回null。示例1:输入:root=[1......
  • 【代码随想录训练营第42期 Day10打卡 LeetCode 232.用栈实现队列 225. 用队列实现栈 2
    目录一、做题心得二、题目与题解题目一:232.用栈实现队列题目链接题解题目二:225.用队列实现栈题目链接题解题目三:20.有效的括号题目链接题解题目四:1047.删除字符串中的所有相邻重复项 题目链接题解三、小结一、做题心得今天是代码随想录训练营打卡的第1......
  • LeetCode_sql_day07(579. 查询员工的累计薪水,2173.最多连胜的次数)
    描述:579.查询员工的累计薪水编写一个解决方案,在一个统一的表中计算出每个员工的 累计工资汇总 。员工的 累计工资汇总 可以计算如下:对于该员工工作的每个月,将 该月 和 前两个月 的工资 加 起来。这是他们当月的 3个月总工资和 。如果员工在前几个月没有为公......