摘要:
题目: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 思路: 递归找出树的节点个数 涉及到树的遍历就是递归 节点个数-1 就是直径长度 (一)代码 递归 减减重 阅读全文
摘要:
题目: 思路: 递归遍历 在将结果按树的顺序展开,left 放空,right放数据 (一)代码 递归 递归 阅读全文
摘要:
题目: 思路: 由题分析出公式 f(x) = f(x - 1) + f(x - 2); (一) 代码 more and more 阅读全文
摘要:
题目: 请判断一个链表是否为回文链表。 思路: 使用链表放入元素 从两边同时移出比较 效率较低 (一)代码 你是星河 阅读全文
摘要:
题目: 翻转一棵二叉树。 思路: 递归 -- 将问题抽象到最简单的情况去想,之后就是一层套一层 => 递归 似乎见到树的题目,基本可以往 递归 的思路去靠了 还有就是BFS , DFS 前中后序遍历,基本就可以拿下树的题目了 (一) 代码 往来有鸿儒,谈笑有无白丁 阅读全文
摘要:
题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 思路: 双指针 1 一个指针 单步向后遍历 2 一个指针 进行交换后单步走 (一)代码 天天刮大风 阅读全文
摘要:
题目: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 思路: 按照题意分析,我们只需找到出现次数最多的一个数字就可以 运用HashMap key 存元素 , value 存出现的 阅读全文
摘要:
题目: 思路: 双指针,向后走 如果有一个为空了,就将其置为另一个链表 (一)代码 双指针 双指针 方法!! 阅读全文
摘要:
题目: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 思路: 1 深度优先 递归 每次加一 , 出口条件为root == null 2 广度优先 使用队列 入队 出队 (一)代码 深度优先-递归 DFS (二)代码 广度优先 BFS 一定得好好努力那 买 阅读全文
摘要:
题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 阅读全文