Leetcode算法
刘哩子不会写代码
这个作者很懒,什么都没留下…
展开
-
Leetcode算法-合并两个有序链表-3
合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有结点组成的。两个链表中的元素依次相比较,将比较中较小的元素拼接至新的链表中。struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){ struct ListNode* p1=list1; struct ListNode* p2=list2; struct ListNode* p3=(struc原创 2021-12-03 14:48:30 · 286 阅读 · 0 评论 -
Leetcode算法-反转链表-3
反转链表给你一个单链表的头节点head,请你反转链表,并返回反转后的链表。从第一个节点开始依次使用头插法插入第一节点前。struct ListNode* reveseList(struct ListNode* head){ struct ListNode* p=head; struct ListNode* r; head=NULL; while(p) { r=p->next; p->next=head; head=p; p=r; } return he原创 2021-11-30 19:46:48 · 387 阅读 · 0 评论 -
Leetcode算法-删除链表倒数第N个节点
删除链表倒数第N个节点给你一个链表,删除链表的倒数第n个节点,并且返回链表的头节点从一个元素(头节点)开始算起 >_<struct ListNode* struct ListNode *removeNthFromEnd(struct ListNode* head,int n)(struct ListNode*head){ ListNode* p=head; if(p==NULL)return 0; int len=0; while(p) { len++; p=p原创 2021-11-30 19:35:44 · 253 阅读 · 0 评论 -
Leetcode算法-删除链表中的结点
删除链表中的节点请编写一个函数,用于删除单链表中某个特定的节点。在这个题中,我们只知道被删除的节点,无法访问头节点,所以就不知道被删除节点的上一个节点,这时候就不能用常规的方法。void deleteNode(struct ListNode* node){ node->val=node->next->val;//将下一个节点的值赋值给被删除的节点 node->next=node->next->next;//使用常规方法删除掉下一个节点}原创 2021-11-30 18:53:53 · 279 阅读 · 0 评论