当前位置:网站首页>判断是否为回文结构的三种方法
判断是否为回文结构的三种方法
2022-07-27 05:19:00 【香香宝贝:】
第一种(变换类型)
我们把用户输入的int类型数据转换成String字符串,再通过逆序,进行比较。
pubic static boolean isCircle(int x){
String revX = (new StringBuilder(x + ””).reverse().toString();
return (x + “”).equals(revx);
}
至于为什么要使用x + ‘’’’,int类型的数据+‘’‘’可以转换为String类型的数据,记住就习惯了
第二种(先获取用户输入值的位数,找到最左值和最右值,比较两者是否相同,如果都相同了,为回文结构)
public static boolean isCircle(int x){
// 如果输入的值小于0,肯定不为回文结构
if(x < 0){
return false;
}
int div = 1;
//统计位数
while(x/div >= 10){
div *= 10;
}
//逐个对比左右两值
while(x > 0){
int left = x /div;
int right = x % 10;
if(left != right){
return false;
}
x = (x % div)/10;
div /= 100;
}
return true;
}
}
第三种(manacher算法,该算法就是如果是回文结构,肯定存在后半部分和前半部分相同)
public static boolean isCircle(int x){
//rex为后半部分新生成的数据
int rex = 0;
//div用来位数变换
int div = 10;
//这里体会一下,如果末尾数字是0,肯定不会是回文结构的(开头第一个数字怎么可能是0?
if(x == 0 || x%10 == 0 && x != 0 ){
return false;
}
//x之所以要大于rex,是因为如果是单数长度的数字,要把中间的数留给x才会比对成功。
while(x > rex){
rex = res*10 + x%div;
div *= 10;
}
//x == rex/10,就是因为x可能比rex少一位
return x == rex || x == rex/10;
}
如果还有什么想法,可以留言评论~
边栏推荐
- 贪心高性能神经网络与AI芯片应用研修
- Gbase 8C - SQL reference 6 SQL syntax (3)
- 6.维度变换和Broadcasting
- 【11】二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”?
- Brief analysis of application process creation process of activity
- [MVC Architecture] MVC model
- 16.过拟合欠拟合
- A photo breaks through the face recognition system: you can nod your head and open your mouth, netizens
- Gbase 8C - SQL reference 6 SQL syntax (2)
- System Design的相关准备材料
猜你喜欢
随机推荐
【头歌】重生之CNN图片分类基础
关于pytorch转onnx经常出现的问题
Gbase 8C - SQL reference 6 SQL syntax (6)
Brief analysis of application process creation process of activity
Day 9. Graduate survey: A love–hurt relationship
2. Simple regression problem
9.高阶操作
韦东山 数码相框 项目学习(四)简易的TXT文档显示器(电纸书)
19. Up and down sampling and batchnorm
15. GPU acceleration, Minist test practice and visdom visualization
18.卷积神经网络
14. Example - Multi classification problem
Day 8.Developing Simplified Chinese Psychological Linguistic Analysis Dictionary for Microblog
dpdk 网络协议栈 vpp OvS DDos SDN NFV 虚拟化 高性能专家之路
【Arduino】重生之Arduino 学僧(1)
【头歌】重生之我在py入门实训中(3): if条件语句
谈谈为何需要将类的成员函数声明为private
Digital image processing -- Chapter 9 morphological image processing
一张照片攻破人脸识别系统:能点头摇头张嘴,网友
图像超分辨率评价指标









