• leetcode151. 翻转字符串里的单词


    给定一个字符串,逐个翻转字符串中的每个单词。

     

    示例 1:

    输入: "the sky is blue"
    输出: "blue is sky the"

    示例 2:

    输入: "  hello world!  "
    输出: "world! hello"
    解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

    示例 3:

    输入: "a good   example"
    输出: "example good a"
    解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

     

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/reverse-words-in-a-string
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解答;

    这里吐槽一句:别用坑爹的spilt函数,真的坑死了,还是自己写一个用吧,其他没什么,就是将字符串分割放入一个栈中,最后在取出来就倒序了。

     1 class Solution {
     2     public String reverseWords(String s) {
     3         if(s==null||s.length()==0)
     4             return s;
     5         LinkedList<String> list=new LinkedList<>();
     6         helper(list,s);
     7         if(list.isEmpty())
     8             return "";
     9         StringBuilder sb=new StringBuilder();
    10         while(!list.isEmpty())
    11             sb.append(list.pop()+" ");
    12         return sb.toString().substring(0,sb.length()-1);
    13         
    14         
    15     }    
    16     public void helper(LinkedList<String>list,String s)
    17     {
    18         int r=0;
    19         int l=0;
    20         boolean flag=false;
    21         while(r<s.length())
    22         {
    23             if(s.charAt(r)==' '&&flag==true)
    24             {
    25                 String str=s.substring(l,r);
    26                 list.push(str);
    27                 flag=false;
    28                 r++;
    29             }
    30             else if(s.charAt(r)==' '&&flag==false)
    31             {
    32                 r++;
    33             }
    34             else if(s.charAt(r)!=' '&&flag==false)
    35             {
    36                 flag=true;
    37                 l=r;
    38                 r++;
    39             }
    40             else
    41                 r++;   
    42         }
    43         if(flag)
    44             list.push(s.substring(l,r));
    45     }
    46 }
    View Code
  • 相关阅读:
    基于HTTP的上载和下载
    HttpContext.current中的applicationstate的运用
    获取汉字拼音首字母
    一个文件上传的类
    HttpContext.current.request[""]
    文件转换为流,流通过字节转换为文件
    字节数组和字符串的相互转化……
    时间精确到毫秒的写法
    设计模式之Builder(转载)
    Windows XP中配置PHP+IIS环境
  • 原文地址:https://www.cnblogs.com/cold-windy/p/11875631.html
Copyright © 2020-2023  润新知