20171017在线编程题

320 篇文章 88 订阅
151 篇文章 4 订阅

     筛选出对称的字符串,按指定规则排序输出

    下面是具体实现:


def is_huiwen(one_str_list):  
    if len(one_str_list)==1:  
        return True   
    else:  
        half=len(one_str_list)/2  
        if len(one_str_list)%2==0:  
            first_list=one_str_list[:half]  
            second_list=one_str_list[half:]  
        else:  
            first_list=one_str_list[:half]  
            second_list=one_str_list[half+1:]  
        if first_list==second_list[::-1]:  
            return True   
        else:  
            return False 
        
        
n=int(raw_input())
str_list=[]
res_list=[]
for i in range(n):
    str_list.append(raw_input())
for one in str_list:
    if is_huiwen(one):
        res_list.append(one)
res_list.sort(key=lambda x:len(x))
i=0
while i<len(res_list)-1:
    j=i+1
    if len(res_list[i])<len(res_list[j]):
        pass
    else:
        if res_list[i]>res_list[j]:
            res_list[i],res_list[j]=res_list[j],res_list[i]
        
    i+=1
for one in res_list:
    print one
if not res_list:
    print 'NONE'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值