![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
有穷正确鲁棒
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题心得记录——为什么LinkedList比Stack效率要高?
今天在做 LeetCode 第144题-二叉树的前序遍历 时发现了一个问题,当我使用栈 Stack 保存二叉树节点时,运行时间为1ms,之后看了官方解答,将 Stack 改为 LinkedList 后,运行时间居然变成了0ms。难道说, LinkedList 比 Stack 效率要高吗?于是赶紧去探索一番。List框架图首先让我们回顾一下List框架图。可以看到, Stack 继承自 Vector,而Vector 是矢量队列,和ArrayList一样,它也是一个动态数组,由数组实现 。但是Arr原创 2020-08-21 17:34:10 · 972 阅读 · 3 评论 -
LeetCode第496题-下一个更大元素I
本文主要讲述了我自己对该题目的一个不断优化的过程,将时间复杂度从O(n3)降到O(n2)最后到O(n)的过程,编程的语言为Java。通过该题得到一个启示:当时间复杂度很大的时候,我们可以想想能不能利用一些数据结构(栈,HashMap等)以空间换时间的方法降低代码的时间复杂度。题目描述给定两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在原创 2020-07-23 18:05:39 · 191 阅读 · 0 评论 -
leetcode刷题题解——234. 回文链表
官方解答的三种方法,运行时间都比较长,因此想分享一下自己的方法,运行结果如下。题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?解题思路1.先遍历整个链表,得到链表的长度length。2.创建一个新的头结点new_head,之后从头开始遍历链表,将链表前1/2的节点利用头插法插入到结点new_head后原创 2020-07-22 21:52:48 · 216 阅读 · 1 评论