string字符串转实体类_【Recursion】(6)实战练习:使用递归处理字符串

802d3ceb538b9949e45ce89ab3a5a684.png

使用递归清除字符串中的" "和/t

ec3840eecb0a9cf9fe0d3f62851b31fa.png
def remove(string):
  # Base Case
  if not string:
      return ""

  # Recursive Case
  if string[0] == "t" or string[0] == " ":
      return remove(string[1:])
  else:
      return string[0] + remove(string[1:])

24bf8370a646715db79f4d727068e654.png

使用递归清除字符串中的重复字符

6bd93b7095f66e4014fb91d16eda3dcd.png
def removeDuplicates(string):
    # Base Case1
    if not string:
        return ""

    # Base Case2
    elif len(string) == 1:
        return string

    # Recursive Case1
    elif string[0] == string[1]:
        return removeDuplicates(string[1:])

    # Recursive Case2
    return string[0] + removeDuplicates(string[1:])

使用递归拼接两个字符串并排序

7a6bd1a1306afe7e6b9b9284abc3d335.png
def merge(string1, string2) :
  # Base Case1
  if string1 == "" :
    if string2 == "" : 
      return ""
    return string2

  # Base Case2
  elif string2 == "" :
    return string1

  # Recursive Case1
  elif string1[0] > string2[0] :
      return string2[0] + merge(string1, string2[1:])

  # Recursive Case2
  return string1[0] + merge(string1[1:], string2)

ac77b4b146cbe712e43f5186c326d1b9.png

使用递归求字符串的长度

def recursiveLength(testVariable) : 
	# Write your code here
	if testVariable == '':
		return 0
	else:
		return 1 + recursiveLength(testVariable[1:])

da6ec478770a66ca407bf5220f289614.png

使用递归计算字符串中所有数字的和

6f8ad445f7b5169c8ad63dea87a38e3b.png
def sumDigits(testVariable):
  # Write your code here
  # base case
  if testVariable == '': return 0
  else:
    return int(testVariable[0]) + sumDigits(testVariable[1:])

d5582666cb299da9bb62a62a36143090.png

使用递归判断字符转是否为回文

043d308ce1564c997afdeb943627f27b.png
def isPalindrome(testVariable) :
  # Write your code here
  if len(testVariable)<=1:
    return True
  else:
    if testVariable[0] == testVariable[-1]:
      return isPalindrome(testVariable[1:len(testVariable)-1])
    else: return False

eaa56a9f693b70de134bd2c5c3d3bc34.png

a1b9a93ae0338f4a92659f947b46d2aa.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值