摘要: 原题(Medium): 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 思路:BFS 看到这题的时候,我思索了一会才得出要用队列BFS方式记录同层结点这个结论,脑子着实太迟钝了...... 想出来后就立马开始写代码: 有一说一,这段代码写得甚是难看,说明我的 阅读全文
posted @ 2019-10-18 11:17 羽园原华 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 原题(Medium): 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 这题我的第一感觉就是深度搜索,比较根结点与左子结点和右子结点的值,根据 阅读全文
posted @ 2019-10-18 11:16 羽园原华 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 原题(Medium): 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 我们或许可以先从数学的角度去思考这题,给定一个整数n,我们可以试着从根结点出发,此时根结点占去一个结点数,结点总数剩下n-1,那么剩下的结点数我们可以先考虑两种简单的情况,一是全部放左子树,二是全部放右 阅读全文
posted @ 2019-10-18 11:09 羽园原华 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 原题(Medium): 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 思路:回溯 建立一个xy坐标系,通过4个坐标实现在网格中上下左右地逐格移动 阅读全文
posted @ 2019-10-18 11:08 羽园原华 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 原题(Medium): 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 思路一:回溯 深度优先,从单一数组成员出发,以下标为剪枝条件,即不能搜索时不能小于当前下标,这防止了重复子集的出现,且途中把遇到的元素都加入临时数组,并把临时数组加入 阅读全文
posted @ 2019-10-18 11:06 羽园原华 阅读(112) 评论(0) 推荐(0) 编辑