Leetcode 151.翻转字符串里的单词

方法一:

spilt

//spilt
    public String reverseWords(String s) {

        if(s.length()==0){
            return "";
        }
        String[] s1 = s.trim().split(" ");

        StringBuilder sb=new StringBuilder();

        for (int i = s1.length-1; i >=0 ; i--) {
            if (s1[i].length() > 0) {
                sb.append(s1[i]+" ");
            }
        }

        return sb.toString().trim();
    }

方法二:

双指针

  

 

 

//双指针
    public String reverseWords1(String s) {
        String str=s.trim();
        int j=str.length()-1,i=j;
        StringBuilder sb=new StringBuilder();
        while (i>=0){
            while (i >= 0 && s.charAt(i) != ' ') {
                i--;
            }
            sb.append(str.substring(i+1,j+1)+" ");
            while (i>=0 && s.charAt(i)==' '){
                i--;
            }
            j=i;
        }

        return sb.toString().trim();
    }

 

posted @ 2020-12-01 17:57  行则将至777  阅读(112)  评论(0编辑  收藏  举报