剑指offer专题

1.二维数组中的查找(简单题)

思路:初始在数组的左下角进行查找,若a[i][j]>target,则说明可能在上面的行中,i--;若a[i][j]<target,则说明可能在右边的列中,j++;若a[i][j]==target,则说明找到

public class Solution {
    public boolean Find(int target, int [][] array) {
        int i=array.length-1,j=0;//刚开始在左下角
        while(i>=0&&j>=0&&j<array[0].length&&i<array.length){
            if(array[i][j]==target) return true;
            else if(array[i][j]>target) i--;//大于目标数,往上找
            else j++;//小于目标数,往右找
        }
        return false;
    }
}
View Code

2.替换空格(简单题)

思路:使用StringBuffer,String的一些方法,例如:toString(),append(),charAt()

public class Solution {
    public String replaceSpace(StringBuffer str) {
        StringBuffer s1 = new StringBuffer();
        String s2 = str.toString();
        char c = ' ';
        for(int i = 0;i < s2.length();i++){
            if(c == s2.charAt(i)) s1.append("%20");
            else s1.append(s2.charAt(i));
        }
        return s1.toString();
    }
}
View Code

猜你喜欢

转载自www.cnblogs.com/Aiahtwo/p/12074317.html