随笔分类 - A2. Leetcode | 中等
——基础进深
摘要:1.题目描述 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 示例 1: 注意: 输入数组的长度不会超
阅读全文
摘要:1.问题描述 给定一个二叉树,返回它的中序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2.解法一:递归 中序遍历:L--N--R (左--根--右) 3.递归与迭代的区别 递归:A反复调用A自身 迭代:A不停调用B (B是利用变量的原值推算出变量的一个新值) 递归:A反复调
阅读全文
摘要:1.题目描述 给定一个二叉树,返回它的 前序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2.解法一:递归 3.解法二:非递归(栈) 栈的作用: 1.逆序:abc输入,cba输出; 2.路径的回溯:a-->b-->c-->d,特别是树的深度优先遍历,也是这道题的用处。(不分析
阅读全文
摘要:1.题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 2.解法一
阅读全文
摘要:1.题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 2.我的错误版
阅读全文
摘要:1.题目描述 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 示例: 2.解题思路 分析:题目的难点在于有delete操作的情况下,要保证getRandom( )等概率随机返回集合中的一个元素。 一般地,题目的对时间复杂度的要求越高,都需要使用更多的辅助结构,以“空间换时间”
阅读全文

浙公网安备 33010602011771号