day8字符串:344.反转字符串|541. 反转字符串II|卡码网:54.替换数字

344. Reverse String

class Solution {
//extra o1 space
    public void reverseString(char[] s) {
        int left = 0;
        int right = s.length - 1;
        while(left < right){
            char temp = s[left];
            s[left] = s [right];
            s[right] = temp;
            left++;
            right--;
        }
    }
}

541. Reverse String II

class Solution {
    public String reverseStr(String s, int k) {
        char[] ch = s.toCharArray();
        for(int i = 0; i < ch.length; i+= 2 * k){
            int left = i;
            int right = Math.min(ch.length - 1, left + k -1);
            while(left < right){
                char temp = ch[left];
                ch[left] = ch[right];
                ch[right] = temp;

                left++;
                right--;
            }
        }
        return new String(ch);
    }
    //示例一StringBuilder ch = new StringBuilder();return new String(ch);正确return ch.toString();正确
//示例二:char[] chars = s.toCharArray();return new String(chars);正确return chars.toString();错误 返回的是内存地址
}
 

卡码网:54.替换数字

class Solution {
    public String reverseStr(String s) {
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < s.length(); i++){
            if(Character.isDigit(s.charAt(i)){
                sb.append("number");
            }else{
                sb.sb.append(s.charAt(i));
            }
        }
        return sb.toString();
    }
}

 

posted @ 2024-08-22 16:23  爱刷题的小盒子  阅读(94)  评论(0编辑  收藏  举报