本文是在学习中的总结,欢迎转载但请注明出处:http://write.blog.csdn.net/postedit/41964669

最近在刷LeetCode上的算法题,发现好多题目的解题思路大体是一致的,甚至会出现一解对多题的情形,可能一方面原因是我刷的都是简单题,另一方面原因可能是网站有意来提高我们的信心和联想能力。比如有求解二叉树最大深度和求解二叉树最小深度的题目,也有判断两颗树是否完全一致和判断两个树是否轴对称的题目,还有按层次从树根往下输出每层元素和按层次从下往树根输出每层元素的题目等。

昨天解答了按层次从树根往下输出每层元素的题目,今天又碰巧遇到类似的三个题目,并不是我刻意拿这几个题目来说话,而是我觉得算法之间思想是相通的,并不是孤立的,从一个算法可以转变为另一个算法,可能只需要加一些简单的条件,所以我觉得如果我们单纯地为了做题而做题,虽然也能够提高自己的算法水平,但是并不能举一反三,如果我们在做一道题的时候能够多一些联想,多考虑一些其它可能的方式,久而久之,我们的思考能力和分析问题的能力也会得到提高。就拿我自己来说吧,之前从没做过任何算法题,除了在学校数据结构课上学习的一些知识。刚开始做LettCode上简单题算法题时,感觉很困难,一道题都要想半天甚至一天,因为之前从未有过算法相关的训练,思维过程也没有那么的灵活,但是我坚持每一道题都自己想,自己分析每一道题,不管自己算法写的有多烂,只要是对的即可,对于自己这样的新手开始不必要要求那么高。在慢慢坚持刷完二十多道简单题后,我发现自己的思维不再那么刻板,我会通过某一道题联系到另外一些相关的题。我想每道算法题肯定会对应着某一个问题,对应着一个应用场景,要不就没有人提出问题,也没必要去解决它。我还会继续坚持下去,从简单题到困难题,from easy to hard,坚持刷完已有的166道题目。这个过程也许就是成长的过程吧,并不需要一个完美的结果,只需要坚持自己,做自己想做的事,不断提高自己,从简单开始,从基础开始,慢慢超越自己,提高自己。

分享这短时间在刷题中的一些体会:

(1)不要好高骛远。从简单做起,要不为什么会把题目分为简单、中等、困难呢,万丈高楼从地起。

(2)坚持下去。每两天我都会抽出时间做一做题,虽然上班很忙,抓住身边的暗时间,不久你就会发现不一样的自己。

(3)独立思考。不要一时想不出来就百度,自己想出来的永远也忘记不了,努力自己思考,提高自己的思维能力。

(4)分享。将自己的思路写下来,分享给大家,知识的共享所得回报不是简单的知识相加,而是线性的甚至是指数级的。

希望对你有所帮助。谢谢。

从"按层次输出二叉树"到"求解二叉树深度"的总结的更多相关文章

  1. 二叉树 Java 实现 前序遍历 中序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 求二叉树的最大距离

    数据结构中一直对二叉树不是很了解,今天趁着这个时间整理一下 许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显 ...

  2. 树&二叉树&&满二叉树&&完全二叉树&&完满二叉树

    目录 树 二叉树 完美二叉树(又名满二叉树)(Perfect Binary Tree) 完全二叉树(Complete Binary Tree) 完满二叉树(Full Binary Tree) 树 名称 ...

  3. LeetCode 965. 单值二叉树 (遍历二叉树)

    题目链接:https://leetcode-cn.com/problems/univalued-binary-tree/ 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树. 只有给定的树是 ...

  4. 【Java】 大话数据结构(9) 树(二叉树、线索二叉树)

    本文根据<大话数据结构>一书,对Java版的二叉树.线索二叉树进行了一定程度的实现. 另: 二叉排序树(二叉搜索树) 平衡二叉树(AVL树) 二叉树的性质 性质1:二叉树第i层上的结点数目 ...

  5. Python与数据结构[3] -> 树/Tree[0] -> 二叉树及遍历二叉树的 Python 实现

    二叉树 / Binary Tree 二叉树是树结构的一种,但二叉树的每一个节点都最多只能有两个子节点. Binary Tree: 00 |_____ | | 00 00 |__ |__ | | | | ...

  6. 剑指offer58:对称的二叉树。判断一颗二叉树是不是对称的,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的

    1 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 2 思路和方法 定义一种遍历算法,先遍历右子结点再遍历左子结点:如对称先序 ...

  7. 找出 int 数组的平衡点 & 二叉树 / 平衡二叉树 / 满二叉树 / 完全二叉树 / 二叉查找树

    找出 int 数组的平衡点 左右两边和相等, 若存在返回平衡点的值(可能由多个); 若不存在返回 -1; ``java int [] arr = {2,3,4,2,4}; ```js const ar ...

  8. 选课 树形DP+多叉树转二叉树+dfs求解答案

    问题 A: 选课 时间限制: 1 Sec  内存限制: 128 MB 题目描述 大 学里实行学分.每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分.学生最后的学分是他选修的各门 ...

  9. 【遍历二叉树】06二叉树曲折(Z字形)层次遍历II【Binary Tree Zigzag Level Order Traversal】

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 给定一个二叉树,返回他的Z字形层次 ...

随机推荐

  1. Docker如何获取镜像

    可以使用 docker pull 命令来从仓库获取所需要的镜像. 下面的例子将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像. $ sudo docker pull ...

  2. leetcode之Find All Numbers Disappeared in an Array

    问题来源:Find All Numbers Disappeared in an Array 很久没有刷题了,感觉大脑开始迟钝,所以决定重拾刷题的乐趣.一开始不要太难,选一些通过率高的题目做,然后就看到 ...

  3. 带有进度条的WebView

    带有进度条的WebView 本篇继于WebView的使用 效果图 自定义一个带有进度条的WebView package com.kongqw.kbox.view; import android.con ...

  4. EasyUI常用组件(基础)

    ---------------------------------------------------------------------------------------------------- ...

  5. Python 文本转语音

    文本转语音,一般会用在无障碍开发.下面介绍如何使用Python实现将文本文件转换成语音输出. 准备 使用Speech API 原理 示例代码 小总结 pyttsx方式 原理 示例代码 小总结 pytt ...

  6. Java异常处理-----非运行时异常(受检异常)

    非运行时异常(受检异常) 如果出现了非运行时异常必须进行处理throw或者try{}catch(){}处理,否则编译器报错. 1:IOException 使用要导入包import java.io.IO ...

  7. RxJava操作符(08-条件和布尔操作)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51671826 本文出自:[openXu的博客] 目录: All Amb Contains D ...

  8. Java线程状态

    线程跟人类一样拥有自己的生命周期,一条线程从创建到执行完毕的过程即是线程的生命周期,此过程可能在不同时刻处于不同的状态,线程状态正是这小节的主题,线程到底有多少种状态?不同状态之间是如何转化的? 对于 ...

  9. Spring配置优化_构造器注入+自动装配

    2014-05-16 09:01:08上课内容: 依赖注入的第二种注入方式:构造器注入 创建带参数的构造方法,参数类型为注入类的类型 项目要先添加Spring支持: package com; publ ...

  10. JavaEE介绍

    相关术语 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担.为了程 ...