go-micro broker with RabbitMQ
阿新 • • 發佈:2022-01-17
人生苦短,我用python
class Solution:
def reverseWords(self, s: str) -> str:
return " ".join(s.split()[::-1])
但是這樣的方式太取巧了,對語言要求也高,所以就不用這種方法了。
用Java的話就很多細節需要考慮,首先就需要用trim
去除空格,然後再遍歷的時候,如果碰到了連續的空格,也需要只計算一個空格。
class Solution { public String reverseWords(String s) { if(null == s || s.isBlank()) { return s.trim(); } List<String> words = new ArrayList<>(); StringBuilder sb = new StringBuilder(); for(var c : s.trim().toCharArray()) { if(c == ' ') { if(sb.length() > 0) { words.add(sb.toString()); sb.setLength(0); } else { continue; } } else { sb.append(c); } } words.add(sb.toString()); String[] strs = new String[words.size()]; for(int i = 0; i < words.size(); i++) { strs[i] = words.get(words.size() - 1 - i); } return String.join(" ", strs).trim(); } }