8.一个字符串采用String对象存储,设计一个算法判断该字符串是否为回文。
package a;
public class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1="abcd";
String str2="abcdcba";
solve(str1);
solve(str2);
}
public static boolean solve(String str) {//判断字符串是否是回文
int i=0;
int j=str.length()-1;
char c[]=str.toCharArray();
while(i<j) {
if(c[i]!=c[j]) {
System.out.println("该字符串不是回文");
return false;
}
i++;
j--;
}
System.out.println("该字符串是回文");
return true;
}
}
9.有一个整数序列,设计一个算法判断其中是否存在两个元素的和恰好等于给定的整数k。
public class Test02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]= {12,11,14,63,21,33,43,5,1,3};
Test02 t=new Test02();
t.PaiXu(a);
}
//实现排序及判断是否存在符合要求的数的方法
public boolean PaiXu(int a[]) {
Arrays.sort(a,0,a.length);
System.out.println("该数组按升序排序后的顺序是:");
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+" ");
}
int k=13;
int j=a.length;//a.length返回数组的长度;a.length()返回字符串长度
int s=a[0];
while(s<j) {
if(s+j==k) {
System.out.println("存在");
return true;
}
else if(s+j<k) {
s++;
}
else {
j--;
}
}
return false;
}
}
10.有两个整数序列,每个整数序列中所有元素均不相同,设计一个算法求他们的公共元素,要求不使用STL的集合算法。
package a;
import java.util.Arrays;
public class Test003 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test003 test=new Test003();
int a[]= {4,34,13,32,22,15};
int b[]= {1,22,3,23,4,11};
Arrays.sort(a);//对数组a排序
Arrays.sort(b);//对数组b排序
System.out.print("数组a排序后的元素是:");
for(int i:a) {//对数组a中的元素,一个一个进行循环
System.out.print(i+" ");
}
System.out.print("数组b排序后的元素是:");
for(int j:b) {
System.out.print(j+" ");
}
test.ChongFu(a,b);
}
public void ChongFu(int a[],int b[])
{
int i=0;
int j=0;
//int q=s;
int c[]=new int[10];
int m=0;
while(i<a.length&&j<b.length)
{
if(a[i]==b[j]) {
c[m]=a[i];
m++;
//System.out.print("数组a和数组b重复的元素是:"+c[m]);
i++;
j++;
}
else if(a[i]>b[j])
{
j++;
}
else
{
i++;
}
}
System.out.print("数组a和数组b重复的元素