程序地带

合并两个有序链表(笔记)


合并两个有序链表
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
if(!l1)return l2;
if(!l2)return l1;
struct ListNode* p=(struct ListNode*)malloc(sizeof(struct ListNode)),*h=p;
if(l1->val<l2->val){h=p=l1;l1=l1->next;}else{h=p=l2;l2=l2->next;}
while(l2&&l1){if(l2->val>l1->val){p->next=l1;l1=l1->next;p=p->next;}else{p->next=l2;l2=l2->next;p=p->next;}}
if(l1)p->next=l1;
if(l2)p->next=l2;
return h;
}

本来想要再引入一个辅助链表,但是想了想 ,因为给的链表本身是有序的,所以就直接在l1和l2上面做文章,直接比较val的大小,然后就对相应的链表上改造。具体思路见代码。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_51938208/article/details/112689292

随机推荐

c语言联系

水仙花的函数练习在这里插入代码片@TOC欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以...

hashdjasffq 阅读(844)

windows批处理命令

批处理入门手册常用操作的一些用法总结1.给变量赋值setresult="found"2.删除变量的赋值setresult=(等号后啥也不要加)3.将程序的执行结果赋值给...

奥斯卡的夫人 阅读(401)

限时开源!Github超硬核Java面试“备战”手册

前言:受疫情影响,很多人今年上半年根本不敢跳槽找工作,甚至相当多的程序员遭遇了裁员、调岗、降薪等!好在金九银十季到了,我特地整理了...

Java数据搬运工 阅读(461)

python 线性回归_python用线性回归预测股票价格

原文参考:python用线性回归预测股票价格​tecdat.cn线性回归在整个财务中广泛应用于众多应用程序中。在之前的教程中,我们使用普通最小二乘法(OLS&...

weixin_39999116 阅读(876)

Leetcode: 197 - Rising Temperature: DATE_SUB()

Leetcode: 197 - Rising Temperature: DATE_SUB()

题目:思路:这道题主要是要找出哪一天的气温比昨天高,这就得用上MySQL的DATE_SUB()函数语法格式:DATE_SUB(date,INTE...

CHNMSCS 阅读(583)