【LeetCode】python解决一些递归问题

  • Post author:
  • Post category:python


一、发表题目感言

题目不难,是我太难!

二、题目解析

1.阶乘后的零(172)难度:中等

这道题目非常的简洁,分析之后其实就是让我们先递归之后对值进行尾随零的获取。


我采用了无脑暴力解法,分为两部分;

第一部分,用循环求出递归的值;

第二部分,将其转换为字符串之后进行倒序遍历,因为是尾随零的数量,当遇见不是零的字符时就直接返回count即可。

优点:思路简单,结构清晰

缺点:耗时较长

2.将数字变成零的操作(1342)难度:简单


题目阅读之后也是非常容易理解,经过多少次操作之后可以使当前数字变成0


今天的题目是关于递归的,所以我们往递归上去思考,一般做的题目递归之后返回的都是递归的值,但是这道题目要让我们返回递归的次数,乍一看以为很难,其实思考借鉴之后,思路还是很简单的;

先设置了递归出口,即0的时候;

之后用if语句判断奇数偶数,因为最后数字要变成零,每次操作次数都加1,按照这样写方法体,最后当数字变为0之后可以直接返回操作次数。

3.完全二叉树的节点个数(222)难度:中等

这道题目已经上升到了算法的层次了,对一个算法萌新的我来说还是有一些难度的,这道题目我也是看了书上的方法模仿得到的。


我的解法采用的时先序遍历求节点个数:

如果是空树,则直接返回0;

若非空,分别遍历求左子树、右子树的结点个数;

最后然后,要加上根节点个数1

4.开幕式焰火(LCP44)难度:简单


属实是被有限的知识所限制了,最终自己还是没有想出方法,这道题也是借用了其他人的解法,一些算法结构的内容还得继续学习!

我们一定会遇见很多困难,从最初开始做题的满腔热血到现在的一种习惯,最初的简简单单到现在的不知所措,放弃真的很容易,但坚持一定很酷!

接受自己知识的不足,努力提升去克服!



版权声明:本文为weixin_52536571原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。