再刷剑指offer-2020.7.11

替换空格

https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&tags=&title=&diffculty=0&judgeStatus=0&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

1、二维数组中的查找(一般思路及二分思路)

public class Solution {
    public boolean Find(int target, int [][] array) {
        int i=0,j=array[0].length-1;
        while(i<array.length&&j>=0){
            if(array[i][j]>target)j--;
            else if(array[i][j]<target)i++;
            else return true;
        }
        return false;
    }
}
public class Solution {
    public boolean Find(int target, int [][] array) {
        for(int i=0;i<array.length;i++){
            int l=0,h=array[0].length-1;
        while(l<=h){
            int mid=l+(h-l)/2;
            if(array[i][mid]>target)h=mid-1;
            else if(array[i][mid]<target)l=mid+1;
            else return true;
        }
        }
        return false;
    }
}

2、替换空格

public class Solution {
    public String replaceSpace(StringBuffer str) {
        StringBuilder sb=new StringBuilder();
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)==' ')sb.append("%20");
            else sb.append(str.charAt(i));
        }
        return sb.toString();
    }
}
public class Solution {
    public String replaceSpace(StringBuffer str) {
        String s=str.toString();
        s=s.replaceAll("\\s","%20");
        return s;
    }
}

3、

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务