leetcode 206 头插法

头插法,定义temp,Node

temp指向每次头结点,Node每次指向要进行头插的节点。

最后返回temp

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if(head==NULL)return head;
        ListNode * Node,*temp;
        temp=head;//当前头结点为head
        Node=head->next;//当前要插入的是head->next
        while(Node!=NULL) {
            head->next=Node->next;//先将要插入的节点去掉
            Node->next=temp;//插入
            temp=Node;//更新头结点
            Node=head->next;//更新要插入的节点
        }
        return temp;
    }
};

 

posted @ 2016-08-04 13:35  HYDhyd  阅读(248)  评论(0编辑  收藏  举报