![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode 刷题
leetcode 刷题
Flying`
这个作者很懒,什么都没留下…
展开
-
leetcode 203移除链表元素(C语言实现)
看题:代码:struct ListNode* removeElements(struct ListNode* head, int val){ struct ListNode* cur=head; struct ListNode* prev=head; while(cur!=NULL) { if(head->val==val)//找头 { head=cur->next;原创 2021-08-13 23:49:29 · 93 阅读 · 0 评论 -
leetcode 876 链表的中间结点(C语言实现)
看题:代码: struct ListNode* middleNode(struct ListNode* head){ struct ListNode* fast=head; struct ListNode* slow=head; while(fast&&fast->next) { slow=slow->next;//慢指针一次走一步 fast=fast->next-&原创 2021-08-13 23:45:04 · 67 阅读 · 0 评论 -
leetcode 21合并两个有序链表(利用哨兵结点 和 尾插法)
看题:1.未利用哨兵结点之前:struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){ if(l1==NULL) return l2; if(l2==NULL) return l1; struct ListNode* head=NULL,*tail=NULL; if(l1->val<l2->val) { head原创 2021-08-13 23:37:38 · 126 阅读 · 0 评论 -
leetcode 206题 反转链表(迭代法和头插法) C语言实现 最强解析
好!!先来看题:这里我们用两种方法来做这道题方法一:迭代法方法二:头插法我认为两种方法的基本实现原理差不多,但是还是都说一下为好1.迭代法:首先,我要强调一个东西,对于链表来说,在对其执行命令时,第一步就是考虑链表的情况,比如说:链表为空,链表为1个结点,链表为1个以上个结点。在不同的情况下,这3种情况可能合并为两种 或者 一种情况;就题目分析:(目前不会操作画图软件,哈哈)X,Y,Z即n1,n2,n3知道上面这些后,然后知道迭代就行了struct ListNode* rever原创 2021-08-12 14:11:41 · 353 阅读 · 0 评论