- 博客(8)
- 收藏
- 关注
原创 leetcode707 设计链表 (C语言实现)
直接贴代码typedef struct { int val; struct ListNode* next;} ListNode;typedef struct { int count; struct ListNode* head;} MyLinkedList;MyLinkedList* myLinkedListCreate() { MyLinkedList* MyLink = (MyLinkedList*)malloc(sizeof(MyLinkedList)); MyLink-
2022-03-23 20:51:46 167
原创 leetcode 203. 移除链表元素 (C语言实现)
就是很基本的删除链表中值为val的结点,这是一道简单题,然而我一开始却没有写对.../** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode* p =
2022-03-21 19:57:34 1176
原创 leetcode27 移除元素 C语言实现
开始看了公众号的快慢指针int removeElement(int* nums, int numsSize, int val) { int a = 0;//快指针 int b = 0;//慢指针 for (a = 0, b = 0; a < numsSize;) { if (nums[a] == val) { a++; } else { nums[b] = nums[a]; a++; b++; } } return b;}后来看
2022-02-19 16:26:30 483
原创 leetcode31 下一个排列 C语言实现
没见过的题型,看了题解很棒的题解之后 才会做,但也就写了一次就过了 没有debug ( •̀ ω •́ )yvoid reverse(int* a, int s){ for (int i = 0; i < s / 2; i++) { int temp = a[i]; a[i] = a[s - 1 - i]; a[s - 1 - i] = temp; } return;}void nextPermutation(int* nums, int numsSize) { i
2022-02-19 15:39:30 637
原创 leetcode18 四数之和 C语言实现
/** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */ //两个for循环 头 尾int comp(const .
2022-02-18 16:47:44 495
原创 leetcode16 最接近的三数之和 C语言实现
写了一遍就过了,没有报错虽然效率不算高 超过了50%延续了leetcode15的双指针思想int comp(const void* a, const void* b){ return *(int*)a - *(int*)b;}int threeSumClosest(int* nums, int numsSize, int target) { qsort(nums, numsSize, sizeof(int), comp); int sum = 0; int t = 0; sum +
2022-02-18 15:32:19 122
原创 leetcode15 三数之和 C语言实现
看到题目的标签有双指针,因为之前做过leetcode11,所以自然而然带入了那道题的想法。我最初的想法是:先排序(联想到了王道书上的一道题,也是先排序),然后最小的和最大的指针不动,移动在这两个数大小之间的数的指针,这种情况可能找到符合条件的三个数,也可能找不到,然后再移动左右边界的指针。感觉哪里怪怪的。于是看了官方题解,之后的想法:第一个指针不动(一个for循环遍历所有数),第二个指针不动(一个for循环),第三个指针从后往前找符合条件的三个数,结果超时,其实这个想法并没有用到双指针的思想。/**
2022-02-18 11:54:02 328
原创 leetcode11
之前没见过的双指针法((lll¬ω¬)也可能是忘了,从本大三人嘴里说出来也是有点不好意思)开始用的是C语言两个for循环实现的,结果超时了,也可以理解看了Cprimerplus之后,有点进步吧但也还要做更多题才能看出来...
2022-02-17 21:31:05 6828
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人