1.判断某个数字是否是回文数
说明:回文数就是原数与其倒置后的数相等,如:123321,到之后仍为123321,即为回文数
答案:
public static boolean isPlalindrome(int num) {
int reverse =0;
int bNum = num;
int mod;
if (num <0)return false;
//以下为把数值倒置的方法
while (bNum !=0) {
mod = bNum %10; //取模 123%10 = 3
reverse = reverse *10 + mod; //reverse = 0*10+3
//将剩余的取整数字重复操作
bNum = bNum /10; //bNum = 123/10=12(int自动转换)
}
return (reverse == num);
}
2.将两个有序数组合并成一个有序数组
说明:int[] nums1 = {1, 3, 5, 7, 9};
int[] nums2 = {2, 4, 6, 8, 10};
合并后:1,2,3,4,5,6,7,8,9,10
答案:
public static int[]mergeArray(int[] num1, int[] num2) {
//变量用于存储两个集合应该被比较的索引(存入新集合就加一)
int a =0;
int b =0;
int[] num3 =new int[num1.length + num2.length];
for (int i =0; i < num3.length; i++) {
if (a < num1.length && b < num2.length) {//两数组都未遍历完,相互比较后加入
if (num1[a] > num2[b]) {
num3[i] = num2[b];
b++;
}else {
num3[i] = num1[a];
a++;
}
}else if (a < num1.length) {//num2已经遍历完,无需比较,直接将剩余num1加入
num3[i] = num1[a];
a++;
}else if (b < num2.length) {//num1已经遍历完,无需比较,直接将剩余num2加入
num3[i] = num2[b];
b++;
}
}
System.out.println("排序后:" + Arrays.toString(num3));
return num3;
}