笔试题之算法

1、设计一个算法,让一个数组的奇数放在偶数的左边。
解题思路:

[Java] 纯文本查看 复制代码
?

/**

  • 数组排序功能

*/
public class test {

public static void main(String[] args) {
    int[] v = { 1,2,5,4,9};
    test t = new test();
    t.swap(v);
      //循环输出输出排序交换的数组  
    for(int i = 0; i < v.length; i++) {  
        System.out.print(v+" ");  
    } 
}

//交换两个数字
public void swap(int[] v) { 
    for(int i = 0,j = 0;i < v.length; i++){   
        //判断是不是奇数
       if(v % 2 != 0) {                      
           int tmp = v;  
           v = v[j];  
           v[j] = tmp;  
           j++;
       }  
   }  
}  

}

2、去除字符串中的指定字符。

解题思路:
以下方法并不能体现算法

[Java] 纯文本查看 复制代码
?

public class StringTest {

public static void main(String[] args) {
    String str = "hello world!";
    char c = 'h';
    StringTest stringTest = new StringTest();
    System.out.println("新字符串为:" + stringTest.delChar1(str, c));
    System.out.println("新字符串为:" + stringTest.delChar2(str, c));
} 

//遍历每一个字符,找到该字符进行替换
public String delChar1(String str,char c) {
    String newStr = "";
    if(!"".equals(str)) {
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) != c) {
                newStr += str.charAt(i);
            }
        }
    }
    return newStr;
}

//利用replace来进行替换:"将指定字符转换为"""
public String delChar2(String str,String c) {
    String newStr = "";
    if(!"".equals(str)) {
        newStr = str.replace(c, "");
    }
    return newStr;
}

}

3、字符串倒序输出

解题思路:

[Java] 纯文本查看 复制代码
?

/**

  • 字符串倒序排列

*/
public class StringRever{

public static void main(String[] args) {
    convertStr("helloworld");
    convertStr2("helloworld");
}

//StringBuffer的reverse方法实现反转
private static void convertStr(String string) {
    String str = new StringBuffer(string).reverse().toString();
    System.out.println(str);        
}

//遍历字符串每个字符进行倒序输出
private static void convertStr2(String string) {
    for(int i=string.length()-1;i>=0;i--){
        System.out.print(string.charAt(i));
    }   
}

}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理