题解 | #单词倒排#

单词倒排

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-07 11:33
江南大学 Java
已经在暑假实习了 ,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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