首页 > 其他 > 详细

FJ的字符串

时间:2020-03-11 16:59:59      阅读:107      评论:0      收藏:0      [点我收藏+]

描述

FJ在沙盘上写了这样一些字符串:

  A1 = “A”
  A2 = “ABA”
  A3 = “ABACABA”
  A4 = “ABACABADABACABA”
  … …
  你能找出其中的规律并写所有的数列AN吗?

思路

思路很多。这里介绍一个奇妙的思路,递归
首先,请画出中序遍历结果为ABACABA的二叉树图,发现什么了?
那我们直接敲代码

代码

#st='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
st=[chr(i) for i in range(65,65+26)]  #改进字符的生成

def func(n):
    if n==0:
        return 'A'
    return func(n-1)+st[n]+func(n-1)

print(func(int(input())-1))

这里给出一开始我的代码,虽然也正确,仅作对比

st='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
a0=''

n=int(input())

for i in range(n):
    a0=a0*2
    length=len(a0)
    mid=int((length-1)/2)+1
    a0=a0[:mid]+st[i]+a0[mid:]
print(a0)

FJ的字符串

原文:https://www.cnblogs.com/thgpddl/p/12463041.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!