- 博客(3)
- 收藏
- 关注
原创 【牛客网_刷题记录】链表系列2
此题如果用python中的list作为栈来存储数据,然后依据list再来创建新的链表会非常方便,主要是我目前对java中数组的便利操作还不了解。而分隔链表可以用,快慢指针:快走2,慢走1,快走到末尾时,慢自然指向中部(因为要涉及断开,可以给慢一个前序指针pre,指向慢的前面结点)而是指向了奇数的最后一个结点,随着奇数的最后一个结点指向偶数的第一个结点,就会形成一个环。但是这道题,我犯了一个错误,我直接把head逆置后,和head做比较明显错误,而且还有一个所谓判断回文,是判断值,绝对不能拿结点来比较。
2023-03-15 18:59:18 109
原创 刷题_leetcode_496. 下一个更大元素 I
单调栈的思路:从栈底到栈顶的元素是单调递减的,通过遍历逆置的数组,来实现找到右边第一个更大的元素。当遍历到当前元素时,将其与栈顶比较,小则直接入栈,大则不断弹出,直到找到合适自己的位置或者栈空。并且在每次找到合适位置之后,插入之前,更新哈希表。该题我最开始的想法是直接暴力求解,但是转念一想这样的话,时间复杂度可能会达到O(m*n)。于是就采用了单调栈+哈希值。
2022-09-05 19:31:13 190 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人