60.每日一练:回文数(力扣)

这篇具有很好参考价值的文章主要介绍了60.每日一练:回文数(力扣)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

问题描述

代码解决以及思想 

解法(一)

知识点

解法(二)


问题描述

60.每日一练:回文数(力扣),刷题,leetcode,算法,职场和发展

代码解决以及思想 

解法(一)

class Solution {
public:
    bool isPalindrome(int x) {
        string arr = to_string(x);  // 将整数转换为字符串
        string brr;  // 用于存储逆序的字符串

        // 逆序构建字符串 brr
        for (int i = arr.size() - 1; i >= 0; i--) {
            brr += arr[i];
        }
        
        // 比较正序字符串 arr 和逆序字符串 brr 是否相等
        return arr == brr;
    }
};

知识点

在C++中,你可以使用标准库提供的函数来将整数转换为字符串。

使用 std::to_string() 函数:文章来源地址https://www.toymoban.com/news/detail-669290.html

#include <iostream>
#include <string>

int main() {
    int num = 123;
    std::string str = std::to_string(num);
    std::cout << "Converted string: " << str << std::endl;
    return 0;
}

解法(二)

class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0) {
            return false; // 负数不可能是回文数
        }
        
        int original = x;
        int reversed = 0;
        
        while (x > 0) {
            int digit = x % 10; // 获取最低位的数字

            // 检查是否会溢出
            if (reversed > INT_MAX / 10 || (reversed == INT_MAX / 10 && digit > INT_MAX % 10)) {
                return false;
            }
            
            reversed = reversed * 10 + digit; // 构建逆序数字
            x /= 10; // 去掉最低位
        }
        
        return original == reversed; // 比较原始数字和逆序数字是否相等
    }
};

到了这里,关于60.每日一练:回文数(力扣)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 力扣刷题笔记-05 最长回文子串

    半山腰有点拥挤,你要去山顶看看。 什么是回文 从左边出发,字符的顺序和从右边出发是一样的,比如aba,abba。那么基于这个理论,我们就可以想到解决方案: 找一个中心点,向两边出发,左右两边各移动一位,如果相同就证明是回文子串,不相同就停止,找下一个中心点

    2024年02月08日
    浏览(43)
  • Golang每日一练(leetDay0075) 打家劫舍II、最短回文串

    目录 213. 打家劫舍 II House Robber ii  🌟🌟 214. 最短回文串 Shortest Palindrome  🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一练 专栏 Java每日一练 专栏 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的

    2024年02月06日
    浏览(44)
  • 力扣、每日一练:爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1 阶 + 1 阶

    2024年02月11日
    浏览(45)
  • 力扣每日一练(24-1-16)

    我一开始想到的是,如果数字相同则加一。 然而,对了一点点,而已。 高手的方法不是普通人在几分钟内能想得出来的,hh 继续补充: 如果数字不同则减一,如果计数到达了0,则更新数字,最终更新并留存下来的数字即为“多数人” 以上就是Boyer-Moore投票算法! 它的基本

    2024年01月17日
    浏览(43)
  • 力扣每日一练(24-1-20)

            大脑里的第一想法是排列组合,直接给出超级准确的最优解。         但不适用,hhh         只要连续的n个元素大于或者等于target就可以了         题目比自己想象的要好解决         解法是使用滑动窗口算法。这个算法的基本思想是维护一个窗口,使得窗口内

    2024年01月21日
    浏览(38)
  • 力扣每日一练(24-1-13)

            如果用列表生成式,可以满足输出的型式,但是不满足题意: 题意要求是:         你需要原地修改数组,并且只使用O(1)的额外空间。这意味着我们不能创建新的列表,而需要在原始列表上进行操作。 题解:         这个解决方案使用了两个指针,一个从左边开

    2024年02月02日
    浏览(48)
  • 力扣每日一练(24-1-18)

            一开始我想到的是引入波峰波谷的概念,但是不适用,想复杂了。

    2024年01月19日
    浏览(50)
  • 【力扣刷题】回文链表、环形链表、合并两个有序链表

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 首先是要对该链表进行非空校验,若

    2024年02月07日
    浏览(41)
  • 数据结构:力扣OJ题(每日一练)

    目录 题一:环形链表 思路一: 题二:复制带随机指针的链表  思路一: 本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵! 给定一个链表的头节点   head  ,返回链表开始入环的第一个节点。  如果链表无环,则返回  null 。 如果链表中有某个节

    2024年02月12日
    浏览(42)
  • 数据结构:力扣OJ题(每日一练)

    示例:         初始化: 初始化队列Q1,Q2; 入栈: 先将要入栈的数据放入为空的队列中,都为空时,放入Q1; 出栈: 当要出栈时,将Q1的数据出列n-1个,此时的Q1就是栈要出栈的数据(每次出栈都进行一次第三步将为不为空的队列数据放n-1个到为空队列中)); 获取栈顶元

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包