leetcode 344反转字符串(递归入门)

题目描述

题目描述

解题

class Solution(object):
    def reverseString(self, s):
        """
        :type s: List[str]
        :rtype: None Do not return anything, modify s in-place instead.
        """
        def helper(start, end, ls):
            if start >= end:
                return
            elif start < end :
                ls[start],ls[end] = ls[end],ls[start]#交换左右位置
                return helper(start+1,end-1,ls)
        helper(0,len(s)-1,s)

感悟

对于递归时取中间值,可以使用头+1,尾-1

python注意点

  • 函数内定义函数方法(注意是否写self)
  • 交换值方式 ls[start],ls[end] = ls[end],ls[start]

对比题

以相反的顺序打印字符串。
(C++)注意putchar与递归函数调用的位置

void printReverse(const char *str) {
  if (!*str)
    return;
  printReverse(str + 1);
  putchar(*str);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值