用栈保存节点

遍历链表,使用一个栈保存每一个节点,然后从尾结点开始依次出栈依次出栈。

class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        if (pHead==0)return 0;
        stack<ListNode*>s;
        while(pHead)
        {
            s.push(pHead);
            pHead=pHead->next;
        }
        ListNode*head=s.top(),*h=head;
        s.pop();
       while(!s.empty())
       {
           head->next=s.top();
           s.pop();
           head=head->next;

       }
        head->next=0;
        return h;
    }
};
全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务