题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

#思路直接定位每个单词的首位和末尾,通过判断前后字符是否符合条件
l="["+input()+"]"#确保输入第一个和最后一个被检测到,前后加入两个特殊字符串
l1=[] #每个单词的首字母位置
l2=[] #每个单词的末字母位置
for i in range(len(l)-1):
    if ord(l[i].upper()) not in range(65,91) and ord(l[i+1].upper()) in range(65,91):
        l1.append(i+1) #判断该字符不为字母后一位是,即后一位为一个单词的字母,记录首字母位置
    if ord(l[i].upper()) in range(65,91) and ord(l[i+1].upper()) not in range(65,91):
        l2.append(i) #判断该字符为字母后一位不是,即为末字母记录位置。由于遍历,即先确定首字母,后面必会确定末字母位置。
for i in range(1,len(l1)+1):
    print(l[l1[-i]:l2[-i]+1],end=" ")
	#逆序输出单词:l[逆序首字母位置:逆序末字母位置+1]

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
昨天 10:56
门头沟学院 Java
码客明:大胆的说自己能实习6个月就行
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务