Python
查看原帖
Python
1248152
cdAGcwhml楼主2024/1/1 17:16
while True:
    AG=0
    d1=str(input("输入:"))
    d=list(d1)#变成列表,方便操作
    f=0
    if len(d)%2==0:
        a=int(len(d)/2)
        for i in range(a):
            if d[i]==d[0-i-1]:
                f+=1
            else:
                break
        if f==a:
            print(d1)
            AG=1
    else:
        a=int(len(d)/2)
        d.pop(a)
        for i in range(a):
            if d[i]==d[0-i-1]:
                f+=1
            else:
                break
        if f==a:
            print(d1)
            AG=1#整段代码判断是否回文串
    d=list(d1)#重置
    adj=[]
    while len(d)!=1:
        f=0
        adj.append(d.pop(0))
        if len(d)%2==0:
            a=int(len(d)/2)
            
            for i in range(a):
                if d[i]==d[0-i-1]:
                    f+=1
                else:
                    break
            if f==a:
                break
        else:
            a=int(len(d)/2)
            fg=d.pop(a)    
            for i in range(a):
                if d[i]==d[0-i-1]:
                    f+=1
                else:
                    d.insert(a,fg)
                    break
            if f==a:
                d.insert(a,fg)
                break‘'''使用广度优先搜索,判断哪些部分为回文串最少保留1个字符'''
    if AG!=1:
        adj=adj+d+adj[::-1]
        jjj=''.join(map(str,adj))
        print(jjj)#保留的不复制,其他部分复制

2024/1/1 17:16
加载中...