合并两个有序链表
迭代法:建立哨兵节点,向哨兵节点后链接
using System; using System.Collections.Generic; /* public class ListNode { public int val; public ListNode next; public ListNode (int x) { val = x; } } */ class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类 */ public ListNode Merge (ListNode pHead1, ListNode pHead2) { // write code here ListNode vhead = new ListNode(-1); ListNode curr = vhead; while(pHead1!=null && pHead2!=null){ if(pHead1.val<pHead2.val){ curr.next = pHead1; pHead1 = pHead1.next; curr = curr.next; } else{ curr.next = pHead2; pHead2 = pHead2.next; curr = curr.next; } } if(pHead1!=null){ curr.next = pHead1; } else if(pHead2!=null){ curr.next = pHead2; } return vhead.next; } }

浙公网安备 33010602011771号