概述
删除链表的节点
ListNode* deleteNode(ListNode* head, int val) {
ListNode* dummy = new ListNode(0); //构建虚拟头节点
dummy->next = head;
ListNode *t=dummy;
while(t&&t->next){
if(t->next->val==val){
t->next=t->next->next;
}
else{
t=t->next;
}
}
return dummy->next;
}
合并两个排序的链表
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(l1==NULL&&l2==NULL){
return NULL;
}
ListNode *res = new ListNode(0);
ListNode *head=res;
while(l1&&l2){
if(l1->val<l2->val){
head->next=l1;
l1=l1->next;
}
else{
head->next=l2;
l2=l2->next;
}
head=head->next;//向后移一位
}
if(l1){
head->next=l1;
}
if(l2){
head->next=l2;
}
return res->next;
}
最后
以上就是激昂羽毛为你收集整理的LeetCode-【链表】解题技巧的全部内容,希望文章能够帮你解决LeetCode-【链表】解题技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复