- 博客(4)
- 收藏
- 关注
原创 相交链表问题
随后,看到官方给出了非常妙的解法:先建立两个指针,ptr1走到头,再转向B节点,ptr2同理,A到相交节点的长度为a,B到相交节点的长度为b,假设有相交节点,那么共用长度为c,由此可知ptr1走的总长度为a+c+b,而ptr2走的长度为b+c+a!首先一定要明白题目的问题是什么,其实确实这个题有点表达不清,迷惑点在于他给的两个示例相交点的val值都一样,就以为比较的是相交节点的val,实际上比较的是节点的地址,即往后所有节点的地址是共用的!所以只要相交节点的地址相同了,那么就不需要往后再次比较了!
2024-06-03 19:21:36 318
原创 合并两个升序链表
我一开始的想法就是选取list1或者list2作为基础,随后另一个链表对此链表进行排序插入,值得注意的是对头节点的插入,需要及时更新头结点,还有就是看到题目的时候最好把思路理清楚,以及可能发生的情况,不然这次我就是总是提交,发现检测点不通过的时候,再不停的改,这样很痛苦的。完后,看到官方的解答就是,建立空链表,然后list1和list2不断比较,小的值不断放入,这样的话,就是不需要写很多条件了,最后没有遍历完的链表,只需要继续插入即可。输入:l1 = [1,2,4], l2 = [1,3,4]
2024-05-30 22:54:53 318 1
原创 两数之和问题
但是时间复杂度为O(N^2),看到官方解答后,可以使用哈希表(通过key找value)更好的解答此题目。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。但是,数组中同一个元素在答案里不能重复出现。----来自LeetCode热题100道。输入:nums = [2,7,11,15], target = 9。
2024-05-28 22:06:00 279 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人