剑指offer Java题解之JZ73 翻转单词序列
2022/1/31 20:14:43
本文主要是介绍剑指offer Java题解之JZ73 翻转单词序列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目:
例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。
示例:
输入:"nowcoder. a am I"
返回值:"I am a nowcoder."
思路:
思路是很清晰的,先碰到的单词放到末尾,以空格为界限
重要的是怎么实现,借助栈,先碰到的单词先入栈,再依次出栈
具体实现见代码
但其实不用栈也可以,就是使用栈的思想,用倒序遍历去实现就可以了
主要是一些日常不怎么用的方法 比如 spilt(),trim()等,要掌握一下
复杂度:
时间复杂度:遍历O(n)
空间复杂度:栈O(n)
代码:
public String ReverseSentence(String str) { //删除首尾的空格,然后按照“ ”去 分成各个String String strs[] = str.trim().split(" "); StringBuilder words = new StringBuilder(); //然后再倒叙遍历strs,用words拼接 for(int i = strs.length-1;i>=0;--i){ //会有多个“ ”的情况,跳过本次循环 if(strs[i].equals("")) continue; words.append(strs[i]+" "); } return words.toString().trim(); }
这篇关于剑指offer Java题解之JZ73 翻转单词序列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?