首页 > 代码库 > leetcode21
leetcode21
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Subscribe to see which companies asked this question
简单题
没有什么技术含量。
简单循环,codetime上面可能慢一点。
递归的代码量小很多,也很简洁。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode headNode = new ListNode(0); ListNode result = new ListNode(0); headNode.next = result; ListNode nextNode = new ListNode(0); while(l1 != null || l2 != null) { nextNode = new ListNode(0); if(l1 == null){ nextNode.val = l2.val; l2 = l2.next; }else if(l2 == null){ nextNode.val = l1.val; l1 = l1.next; }else if(l1.val>l2.val){ nextNode.val = l2.val; l2 = l2.next; }else{ nextNode.val = l1.val; l1 = l1.next; } result.next = nextNode; result = result.next; } return headNode.next.next; }}
public ListNode mergeTwoLists(ListNode l1, ListNode l2){ if(l1 == null) return l2; if(l2 == null) return l1; if(l1.val < l2.val){ l1.next = mergeTwoLists(l1.next, l2); return l1; } else{ l2.next = mergeTwoLists(l1, l2.next); return l2; }}
leetcode21
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。