题目
合并两个有序链表,返回一个新链表,新链表应当由两个链表拼接而成。
思路
首先要有思路,两个指针指向链表,然后比较两个节点的值,将小的一个放进结果链表中,该链表的指针后移一位。然后继续比较两个节点的值。
这里我犯了一个错误,错误的思路:我比较完两个节点的值,同时将两个节点插入了结果链表并且指针同时后移,典型的弱智思路。
考虑两个链表不同长度,比较完后,一个指针指向空,一个指向链表上的某个节点,可以直接将后者接到结果链表上就行。
所以循环开始条件为当前节点均不为空。最后,有一个为空就退出循环,然后判断如果1为空,直接将2接到结果后面返回,不用担心2是不是为空;否则将1接到结果后面返回即可。在考虑下空链表的情况即可。