题目描述

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

题目地址

https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3?tpId=13&tqId=11197&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

思路

思路1:分割成列表,然后对列表翻转,返回合并的字符串。

思路2:先翻转整个字符串,然后翻转每个单词,用两个指针记录每个单词的开始和结尾的位置。遇到 ' ' 说明单词的结尾,需要调节指针。

另外需要注意的是,字符串不能直接修改,需要转成list之后才能直接对每一位进行修改。

Python

# -*- coding:utf-8 -*-
class Solution:
def ReverseSentence(self, s):
# write code here
if not s:
return s
# 思路1
# s = s.split(' ')
# s.reverse()
# return " ".join(s)
# 思路2:
s = list(s)
self.reverse(s, 0, len(s)-1)
start,end = 0,0
while start < len(s):
if s[start] == ' ':
start += 1
end += 1
elif end == len(s) or s[end] == ' ': self.reverse(s,start ,end -1)
end += 1
start = end
else:
end += 1
return ''.join(s)
def reverse(self,s,start,end):
while start < end:
s[start],s[end] = s[end],s[start]
start += 1
end -= 1 if __name__ == '__main__':
result = Solution().ReverseSentence('student. a am I')
print(result)

最新文章

  1. debian C++ OTL库 用 unixodbc 连接 mysql 小记
  2. CSS自动换行
  3. 如何防止JAVA反射对单例类的攻击?
  4. 【HTML5+MVC4】xhEditor网页编辑器图片上传
  5. ubuntu编译运行xv6
  6. 三角形变形记之纯css实现的分布导航条效果
  7. 谈谈JPA-03-基本注解
  8. android.os.DeadObjectException memory near r0: 异常处理 Consumer closed input channel or an error occurred. events=0x9
  9. 【Android】Activity遮罩效果的实现
  10. 鼠标移动事件--JavaScript
  11. VMware Player安装centos
  12. OpenCV——运用于pixels war游戏
  13. deeplearning.ai 卷积神经网络 Week 4 特殊应用:人脸识别和神经风格转换 听课笔记
  14. angular之指令
  15. 1、MySQL主从同步机制及同步中的问题处理
  16. Android P正式版即将到来:后台应用保活、消息推送的真正噩梦
  17. LODOP设置打印机不存在不打印
  18. C# 左右补零
  19. Django Model模型的实战操作笔记
  20. 3.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——grepping(检索目标行命令)

热门文章

  1. nodejs笔记之文件操作
  2. web前端开发常用组件
  3. Vue 组件&amp;组件之间的通信 之 template模板引用与动态组件的使用
  4. Python Redis 管道
  5. Windows server 2016安装Docker EE
  6. Redis主主复制、主从复制
  7. HTML基础(1)——样式表
  8. Jquery实现简单选项卡
  9. Hibernate的cascade属性 特别是 cascadeType.all的 作用
  10. 【Python】【内置函数】