博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法】合并两个有序链表
阅读量:2057 次
发布时间:2019-04-28

本文共 973 字,大约阅读时间需要 3 分钟。

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

输入:1->2->4, 1->3->4输出:1->1->2->3->4->4
public class MergeList {    public static void main(String[] args) {        ListNode l1 = new ListNode(1);        l1.next = new ListNode(2);        l1.next.next = new ListNode(4);        ListNode l2 = new ListNode(1);        l1.next = new ListNode(2);        l1.next.next = new ListNode(4);        ListNode listNode = mergeTwoLists(l1, l2);        System.out.println(listNode);    }    /**     * 使用递归合并     * @param l1     * @param l2     * @return     */    public static ListNode mergeTwoLists(ListNode l1, ListNode l2){        if (l1 == null){            return l2;        }        if (l2 == null){            return l1;        }        ListNode head = null;        if (l1.val < l2.val){            head = l1;            head.next = mergeTwoLists(l1.next,l2);        }else{            head = l2;            head.next = mergeTwoLists(l1,l2.next);        }        return head;    }}

 

 

 

转载地址:http://xvslf.baihongyu.com/

你可能感兴趣的文章
39. Combination Sum
查看>>
剑指Offer 1.二维数组中的查找
查看>>
剑指offer 2.重建二叉树
查看>>
剑指offer 3.二叉树中和为某一值的路径
查看>>
剑指offer 4.替换空格
查看>>
剑指offer 5.从尾到头打印链表
查看>>
剑指offer 6.用两个栈实现队列
查看>>
剑指offer 7.旋转数组的最小数字
查看>>
剑指offer 8-11.斐波那契数列 跳台阶 变态跳台阶 矩形覆盖
查看>>
剑指offer 12.二进制中1的个数
查看>>
剑指offer 13.数值的整数次方
查看>>
剑指offer 14.调整数组顺序使奇数位于偶数前面
查看>>
剑指offer 15.链表中倒数第k个节点
查看>>
剑指offer 16.反转链表
查看>>
剑指offer 17.合并两个排好序的链表
查看>>
剑指offer 18.树的子结构
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>