回文数与回文字符串问题
2013-11-30 20:59
218 查看
华为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+"不是回文字符串");
}
}
}
)
最近又碰到这样的题目,以此小记逝去的光阴。
判断回文数:
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+"不是回文字符串");
}
}
}
相关文章推荐
- 回文字符串切割问题
- 最长回文子串算法(字符串处理问题+多种方法解决)【转载】
- 回文字符串问题
- 最长公共子串、最长公共子序列、最长回文子串、模式匹配、最大子序列--字符串问题整理
- 最长公共子串、最长公共子序列、最长回文子串、模式匹配、最大子序列--字符串问题整理
- 回文字符串问题
- 一道特殊的回文字符串处理问题
- 最长字符串回文子串问题
- 字符串回文问题及其扩展
- 最长回文子串(Manacher算法模板题)&&对称字符串问题
- 最长对称字符串问题/最长回文子串问题
- 51nod 1092 回文字符串 dp问题
- 数据结构常见问题(二)利用栈和队列判断字符串是否是回文
- 字符串的最长回文子串问题
- hpuoj 1699: 回文串问题 (回文字符串&manacher)
- 回文字符串系列问题
- 回文字符串问题
- 查找字符串中的最长回文问题评述
- 回文字符串(南阳oj37)(最长公共子序列问题)
- 问题 D: 回文判断(函数)//回文字符串的快速算法//回文数的快速判断