天天看点

剑指offer计划3(字符串)---java

1.1、题目1

剑指 Offer 05. 替换空格

1.2、解法

这题很简单,就判断是否为空格就替换成%20加到stringbuffer里,

也有其他方法可以实现,但是得弄长度啥的太麻烦,我比较喜欢用stringbuffer,

可以方便很多,到最后tostring就行。

1.3、代码

class Solution {
    public String replaceSpace(String s) {
        StringBuffer str = new StringBuffer();
        for(int i=0;i<=s.length()-1;i++){
            if(s.charAt(i)==' '){
                str.append("%20");
                continue;
            }
            str.append(s.charAt(i));
        }
        return str.toString();
    }
}
           

2.1、题目2

剑指 Offer 58 - II. 左旋转字符串

2.2、解法

这题我的解法不怎么正规,我是通过循环判断,加进去,这题可以优化,但是懒得了,哈哈哈哈哈哈,

看了一眼其他的解法,都好短,能明白大概的方法就行,

这就不仔细讲了,~~偷偷懒

2.3、代码

class Solution {
    public String reverseLeftWords(String s, int n) {
        StringBuffer str = new StringBuffer();
        for(int i=n;i!=n-1;){
            str.append(s.charAt(i));
            i=(i+1)%s.length();
        }
        str.append(s.charAt(n-1));
        return str.toString();
    }
}