알고리즘 연습 편: 문자열 교체 (문자열)

알고리즘 연습 편: 문자열 교체 (문자열)
  • 제목 설명
  • 문제 풀이 사고방식
  • 코드 구현
  • 총화
  • 제목 설명
    한 문자열 의 빈 칸 을 '% 20' 으로 바 꾸 는 함 수 를 구현 하 십시오.예 를 들 어, 문자열 이 We Are Happy 일 때, 교 체 된 문자열 은 We% 20Are% 20Happy 입 니 다.
    문제 풀이 의 사고 방향.
    생각 은 간단 합 니 다. stringbuffer 를 통 해 하나씩 옮 겨 다 니 며 빈 칸 의 문 자 를 '% 20' 으로 바 꾸 면 됩 니 다!!말 이 많 지 않 으 면, 직접 코드 를 붙인다.
    두 가지 방법 모두 온라인 테스트 통과!
    코드 구현
    블 로그 설정 페이지 에 가서 좋아 하 는 코드 필름 하 이 라이트 스타일 을 선택 하 세 요. 아래 에 똑 같은 하 이 라이트 를 보 여 줍 니 다.
    public class replaceSpace {
        //           ‘%20’
        public String replace(StringBuffer str){
            StringBuffer res=new StringBuffer();
            for (int i=0;i<str.length();i++){
                if (str.charAt(i)==' '){
                    res.append("%20");
                }else {
                    res.append(str.charAt(i));
                }
            }
            return res.toString();
        }
    
        public String replace_2(StringBuffer str){
            int spaceNum=0;
            for (int i=0;i<str.length();i++){
                if (str.charAt(i)==' '){
                    spaceNum++;
                }
            }
            int oldLength=str.length()-1;
            int newLength=str.length()+spaceNum*2;
            //    2   ,     6   ,   4   =spacenum*2
            str.setLength(newLength);
            int newIndex=newLength-1;
            for (int i=oldLength;i>=0;i--){
                if (str.charAt(i)!=' '){
                    str.setCharAt(newIndex--,str.charAt(i));
                }else {
                    str.setCharAt(newIndex--,'0');
                    str.setCharAt(newIndex--,'2');
                    str.setCharAt(newIndex--,'%');
                }
            }
            return str.toString();
    
        }
        public static void main(String[] args) {
            replaceSpace test=new replaceSpace();
            StringBuffer str =new StringBuffer();
            str.append("we");
            str.append(" ");
            str.append("are");
            str.append(" ");
            str.append("happy!");
            String result=test.replace_2(str);
            System.out.println(result);
        }
    }
    
    
    

    총결산
    이 문 제 는 면접 고전 교재 인 검 지 오 피 스에 서 유래 한 것 으로 다른 유형의 문제 에 속한다.알고리즘 길에서 끊임없이 전진 하 는 많은 사람들 과 마찬가지 로 끊임없이 연습 하고 자신 을 수련 합 니 다!블 로그 에 존재 하 는 의문 이나 건의 가 있 으 면 아래 댓 글 에서 함께 소통 할 수 있 습 니 다. 감사합니다!마지막 으로 AIAS 감사합니다!
    본 블 로그 의 유용 하 다 고 생각 하 는 고객 님 께 서 는 칭찬 과 격려 를 해 주 실 수 있 습 니 다!헤헤

    좋은 웹페이지 즐겨찾기