多解LeetCode
顾冷__
克服虛荣心、炫耀欲,你要对付的是你时刻想要出风头的小聪明
展开
-
【多解LeetCode】 142.环形链表 II
142.环形链表 II/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode * judgecircle(struct ListNode *head) { if(head == NULL) return 0; struct ListNode * fast ,* slow原创 2022-01-13 22:53:47 · 137 阅读 · 3 评论 -
【多解LeetCode】|876. 链表的中间结点
文章目录1.两次遍历(一般思路 )2.一次遍历(快慢指针)1.两次遍历(一般思路 )题目给定的很简单,如果不考虑时空复杂度的话可以遍历依次找到节点数N,然后遍历找到mid节点的位置返回即可(mid=N/2)比较简单,代码略2.一次遍历(快慢指针)快慢指针是双指针中比较经典的一个题型主要的核心点就在于对于迭代条件的判断struct ListNode* middleNode(struct ListNode* head){ struct ListNode* fast=head;原创 2021-12-30 00:23:20 · 307 阅读 · 5 评论 -
多解LeetCode系列|27.移除数组中的元素
移除数组中的元素27. 移除元素 - 力扣(LeetCode) (leetcode-cn.com)1.遍历依次遍历 寻找val,每次将之后的数据向前挪动1个单位。时间复杂度:N^2空间复杂度:O(1)2.时间复杂度优化到O(N)创建临时数组,把不是val的值放入tem[],再将tem[]赋值拷贝回原数组时间&空间复杂度:O(N)3.空间复杂度优化到O(1)双指针 Des 、SearSear去找不等于val的值,放到Des指向的位置去,再Sear++,Des++找到不等原创 2021-12-16 17:02:20 · 342 阅读 · 18 评论