题解 | #单词倒排#

单词倒排

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]

全部评论

相关推荐

10-10 16:30
济宁学院 Java
不想做程序员:面试官:蓝桥杯三等奖?你多去两次厕所都能拿二等吧
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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