1. 程式人生 > >(鏈表) lintcode 219. Insert Node in Sorted Linked List

(鏈表) lintcode 219. Insert Node in Sorted Linked List

註意 ntc lse insert lint desc interview input inline

Description

Insert a node in a sorted linked list.

Example

Example 1:

Input: head = 1->4->6->8->null, val = 5
Output: 1->4->5->6->8->null

Example 2:

Input: head = 1->null, val = 2
Output: 1->2->null
---------------------------------------------------------------------


就是在一個有序的鏈表中插入一個數。
C++代碼:
註意有表頭,表中間和表尾三個情況
/**
 * Definition of singly-linked-list:
 * class ListNode {
 * public:
 *     int val;
 *     ListNode *next;
 *     ListNode(int val) {
 *        this->val = val;
 *        this->next = NULL;
 *     }
 * }
 */

class Solution {
public:
    
/** * @param head: The head of linked list. * @param val: An integer. * @return: The head of new linked list. */ ListNode * insertNode(ListNode * head, int val) { // write your code here ListNode *cur = new ListNode(val); ListNode *dummy = new ListNode(-1
); dummy->next = head; if(!head) return cur; ListNode *p = dummy; while(p->next){ if(p->next->val > val) break; else p = p->next; } cur->next = p->next; p->next = cur; return dummy->next; } };



(鏈表) lintcode 219. Insert Node in Sorted Linked List