剑指offer-15.反转链表

题目:输入一个链表,反转链表后,输出链表的所有元素。


思路:反转通常使用栈进行反转,栈一个特点是后进先出。


/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead)
    {
        stacktemp;
        ListNode* result = pHead;
        while (result !=  NULL)
        {
            temp.push(result->val);
            result  = result->next;
        }
        result = pHead;
        while (result != NULL)
        {
            if (!temp.empty())
            {
                result->val = temp.top();
                temp.pop();
                result = result->next;
            }
        }
        return pHead;
            

    }
};


你可能感兴趣的:(剑指offer)