LeetCode
文章平均质量分 66
树海路伴
这个作者很懒,什么都没留下…
展开
-
【LeetCode】关于链表的环、相交等问题
【LeetCode】关于链表的环、相交等问题1、链表环形LeetCode上关于环形链表有两个题:Q141–easy内容:判断一个链表是否有环。Q142–medium内容:判断一个链表是否有环,并返回链表环形开始的第一个节点。题目141思路分析: 判断一个链表是否有环,可以使用“快慢指针”的方法,快指针一次走两格即fast = fast.next.next,慢指针一次走一格即slow = slow.next。可以分为两种情况:无环:即遍历到最后,肯定是快指针fast原创 2021-12-10 21:10:39 · 403 阅读 · 0 评论 -
【LeetCode】递归与非递归二叉树遍历
二叉树遍历有三种:1. 前序遍历:先遍历根结点->左子树->右子树;2. 中序遍历:先遍历左子树->根结点->右子树;3. 后序遍历:先遍历左子树->右子树->根结点;总的来说就是根结点在前中后处于哪个位置,就是什么遍历。非递归方法,用堆栈来实现。评论区发现一个很厉害的算法,直接对比递归,只需要调换顺序即可。当然我们得明白,堆栈是先进后出,所以与递归方法的顺序是相反的,其利用的是一个null,来确定当前值是否被访问到,太厉害了。非递归前序遍历pub原创 2021-11-28 18:06:27 · 327 阅读 · 0 评论 -
【LeetCode】136.只出现一次的数字 && 169.多数元素
题目136思路分析:确定非空数组,其次每个元素均出现两次,某个元素只出现一次,说明数组的长度肯定是奇数。要求线性时间复杂度,说明不能嵌套循环,找出出现一次的元素。思路1:关于计数可以用HashMap,统计元素出现的次数,最后遍历HashMap找到次数为1的元素即可。需要经过两次循环。思路2:通过对数组排序,两两比较,即看 nums[i] 和 nums[i+1] 是否相等,如果相等,则i +=2。排序后会出现两种情况:一种是:这个一次元素出现在数组的最后一个。一般是两两配对后,剩下最后一个,即i.原创 2021-11-27 16:20:06 · 275 阅读 · 0 评论