回文数与回文字符串问题

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

       华为2013校园招聘的上机试题,记得有两道,好忧伤的是当时被第一道试题卡壳了,印象尤深,就是回文数问题,时间过去一年多了,记得题目:给出一个字符串,判断是否是回文字符串? 刚开始的思路是将字符串转为数组n(字符串长度),再根据arr[i]!=arr[n-i-1]。反正是没做出来,可能是第一次参加招聘和上机做题(其实真正原因是基础很薄弱哭)  

    最近又碰到这样的题目,以此小记逝去的光阴。

判断回文数:

import java.util.Scanner;
public class PalindromicNum {

    public static void main(String[] args) {
        Scanner sin = new Scanner(System.in);
        int PcNum = sin.nextInt();
        int PalindromicNum = PcNum;
        int[] arr = new int[100];
        int i =0;
        while(PcNum>0)
        {
            arr[i] = PcNum % 10; //从个位开始,将每个位上的整数放到数组arr[]中,如PalindromicNum=12342321, 则arr[0]=1,....arr[3]=2,.........
            PcNum = PcNum/10; //减少一位,如1234/10=123,524/10=52
            i++;
        }
        for(int k=0;k<i/2;k++){
            if(arr[k]!=arr[i-k-1]){
            System.out.println(PalindromicNum+"不是回文数");
           return;
        }
    }
        System.out.println(PalindromicNum+"是回文数");

    }
}

PS:判断回文字符串(StringBuffer的reverse方法还是第一次知道)

import java.util.Scanner;

public class PalindromicStr {

    public static void main(String[] args) {
        Scanner sin = new Scanner(System.in);
        String str = sin.next();
        StringBuffer sb =  new StringBuffer(str);
        StringBuffer str1= sb.reverse();//将字符串逆序
        System.out.println(str1);
        String sstr = str1.toString();
        if(str.equals(sstr)){
            System.out.println(str+"是回文字符串");
        }
        else{
            System.out.println(str+"不是回文字符串");
        }
}
}


整数反转回文数问题 整数反转回文数问题 将整数最高位变为最低位,对称反转。反转后的数字原数字相等即为回文数。 整数反转 初始思路 将数字转换为字符串数组,数组反转 。利用 StringBuilder 的reverse函数。 这种方法效率并不高,但容易理解思考 优化题解 考虑到每一位数字之间是10进制的关系,可以将数字看做一个栈,利用取余(%10)得到顶部数据。第一个数字是个位数字,第二个数字是个位数字乘以10加上十位数字,依次迭代可以得到反转数字。 注意反转的时候可能会产生溢出的数字,即 当数字乘以10大于最大值, 阅读详情

相关推荐

C语言中实现回文数检测生成

回文数是正读和反读都相同的整数,例如12321或56765。在编程中,判断一个数是否为回文数一个常见的练习题,它不仅可以帮助理解数据结构和算法,还能提高对编程语言特性的熟悉度。字符串转换是编程中的一项基础而重要的技能,它涉及到数据类型之间转换的灵活运用,尤其是在不同系统间进行数据交换时,字符串转换显得尤为重要。常见的应用场景包括:数据存储:在将数据写入文件或数据库时,经常需要将数字或其他类型的数据转换为字符串格式。

weixin_32098457的博客 861

Java实现查找当前字符串最大回文串代码分享

本文给大家介绍的是如何使用Java实现查找当前字符串最大回文串代码,非常的简单实用,有需要的小伙伴可以参考下

java判断输入一段字符串是不是回文

最好在myeclipse里面运行,可以直接在下面输入一段字符串,运行便可以看出结果。

java回文

Java判断是否是回文

爱学习的小刘芒的博客 4270

java之字符串--回文字符串

string的所有关于字符个数的方法中,除了length()是输出所有字符个数外,其他的函数都是从0下标开始计数的 String转换为Char类型,由String.toCharArray()函数,可以将String每个字符以数组形式放入char型数组。 Char转换为String类型,可以用String.valueOf()方法。 判断两个char字符相等否,用“==”。 最简单的方法就是将字符串颠倒赋值给另一个String变量,让两个变量比较。 public static void main(String

qq_43401942的博客 3461

Java算法实战:揭秘回文字符串查找和计数

回文是指一个字符串忽略标点、大小写和空格,正向和反向都一样。回文字符串的定义很简单,举例来说:“level”, “deified”, “civic” 和 “radar” 等都是回文字符串

逆流的小鱼 2107

判断回文字符串的Java程序实现(两种方法)

如果发现不相等的字符,则说明该字符串不是回文,将。为了进行回文判断,我们将字符串转换为小写,以避免大小写造成的不一致。如果相等,说明该字符串回文字符串,否则不是回文字符串。在上述代码中,我们使用Scanner类获取用户输入的字符串。在上述代码中,我们使用Scanner类获取用户输入的字符串。方法用于读取用户输入的一行字符串,并将其存储在。方法用于读取用户输入的一行字符串,并将其存储在。类创建一个字符串构建器,将用户输入的字符串。方法将字符串进行反转,并将反向字符串存储在。在判断回文的部分,我们使用。

weixin_65175398的博客 2178

java判断回文字符串的方法

1.将字符串反转后逐一比较,2.将字符串反转后创建新字符串直接比较,3.使用截取字符串的方式比较,4.纯数字判断回文的方法

java工作室 5070

《C语言》回文回文数问题

一.回文串. “回文串”是一个正读和反读都一样的字符串,初始化标志flag=true,比如“level”或者“noon”等等就是回文串。 1.如何判断回文串 1.遍历字符串长度的一半 2.字符串从前数第i个和字符串从后数第i个对比,不相等就不是回文串,相等则是回文串。 2.代码实现 #include<stdio.h> #include<stdbool.h> #include<string.h> #pragma warning(disable:4996)

yj 3246

B 1079 延迟的回文数回文数字符串整型的相互转换)

题目 思路 涉及到的几个考点: 回文数的判定,两种方法(整型判定及字符串判定) bool huiwen(string a,int i,int j){ if(i>=j) return true; else { if(a[i]!=a[j]) return false; else return huiwen(a,++i,--j); } } 字符串转换为整型:stoi 及 stod 函数字符串的反转:reverse(s.begin(),s.end()); 整型转换为字符

chaosjey的博客 193

回文数

判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 方法:反转一半数字 思路 映入脑海的第一个.

游戏开发、游戏引擎开发、逆向破解爱好者 1776

【LeetCode-9】回文数

【LeetCode-9】回文数,本文将深入探讨如何判断一个整数是否为回文数。我们将从题目分析入手,逐步讲解解题思路,并通过代码实现、案例分析以及图示说明帮助读者全面理解。

qq_44530108的博客 903

验证回文

编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串判断是否为回文串,然后将判断的结果输出。在验证回文串时,忽略大小写、空格和标点。

9.python 回文数

题目:是回文数就返回True,不是返回False。 解题思路:将整数x变成字符串x,判断x逆序的x是否相等,相等的话,就是回文数,否则就不是回文数。 代码: # -*- coding: utf-8 -*- # @Author : Liqiju # @Time : 2022/2/23 16:45 # @File : algorithm_test.py # @Software: PyCharm class Solution: def isPalindrome(self, x:

全村的希望的博客 1235

【每日一题】回文数

https://leetcode-cn.com/problems/palindrome-number/ 回文数 判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3...

ahojcn 的博客 359

PTA 1079 延迟的回文数 (c++ )

1079 延迟的回文数 (20 分) 思路:分块处理。首先写一个函数用于A和B相加,大数相加注意可能会余留进制数(14行代码)。然后再写一个函数用于判断C是否为回文数;然后在主函数里面注意要先判断A是否符合,符合则不进行循环直接输出后退出程序,不符合在判断。还有一点需要注意的是在第一个函数中求出来的C要记得反转后再输出(因为你加的时候是从最高位开始加的)。参考文章: https://blog....

qq_44622401的博客 351

LeetCode:回文数回文字符串相关题目(C++)

1、回文数 问题描述 判断一个整数是否是回文数回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 代码实现 class Solution { public: bool isPalindrom

bwqiang的博客 353

不一样的回文数

不一样的回文数 1. 第一眼看上去脑中要想到一定会有一个回文数判定的函数,还会有一个两数相加的函数,要注意两数相加注意进位 2. 两个数相加不一定是十进制的还有可能是二进制的等等,比如二进制相加从后面一个一个的加,所以在声明是声明一个字符串变量保存数,然后在将字符串转换为整型数组进行相加计算 3. 还要注意在字符串整型数组相互转换时要考虑处理16进制数的情况,所以判断该字符是否是字母,如果是将A-F转化成10~15 下面开始写代码 #include<iostream> #include &

Zuobf_bk的博客 811
下一篇: 递归算法-汉诺塔问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值