思想:
准备两个链表l1和l2:
- 判断是否有链表为空:如果l1为空,则不用比较直接返回l2,如果l1为空,则直接返回l2;
- 比较l1和l2节点,选出最小的那个节点,将该节点设为合并后的链表的head(头)节点,同时将指向该节点的l1或l2后移,方便接下来的比较;
- 设置一个变量temp指向head节点,用于之后连接其它节点;
- 再比较l1和l2节点,同样选出小的那个节点,将该节点设为合并后的链表的第二个节点,用temp.next表示该节点,同时将指向该节点的l1或l2后移;
- 重复比较l1和l2节点,直到l1或l2节点为null;
- 此时,必定有一个链表中的所有节点都放入了新链表中,只要将另一个链表中的剩余的所有节点都接到新链表之后就可以了。
1.单链表的节点的结构:
public class ListNode {
int val;//节点的属性,存储节点的值
ListNode next;//节点的属性,存储了下一个节点的地址
ListNode(int x) { val &#