21. 合并两个排序单链表 Merge Two Sorted Lists

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.

创建一个新结点,同时遍历两个链表,取较小的一个添加到新结点后面。

最后再把剩下的节点加到链表后面

  1. public class Solution {
  2. public ListNode MergeTwoLists(ListNode l1, ListNode l2) {
  3. ListNode curNode = null;
  4. ListNode headNode = new ListNode(-1);
  5. curNode = headNode;
  6. while (l1 != null && l2 != null)
  7. {
  8. if (l1.val < l2.val)
  9. {
  10. curNode.next = l1;
  11. l1 = l1.next;
  12. }
  13. else
  14. {
  15. curNode.next = l2;
  16. l2 = l2.next;
  17. }
  18. curNode = curNode.next;
  19. }
  20. if (l2 != null)
  21. {
  22. curNode.next = l2;
  23. }
  24. else if (l1 != null)
  25. {
  26. curNode.next = l1;
  27. }
  28. return headNode.next;
  29. }
  30. }





posted @ 2017-01-23 23:36  xiejunzhao  阅读(166)  评论(0编辑  收藏  举报