【一次过】Lintcode 822. 相反的顺序存储

给出一个链表,并将链表的值以in reverse order存储到数组中。

样例

给定1 -> 2 -> 3 -> null,返回[3,2,1]


解题思路:

简单,直接看代码。

class Solution {
public:
    /**
     * @param head: the given linked list
     * @return: the array that store the values in reverse order 
     */
    vector<int> reverseStore(ListNode * head) 
    {
        // write your code here
        vector<int> res;
        stack<int> stk;
        
        //将List元素依次压入栈中
        while(head != NULL)
        {
            stk.push(head->val);
            head = head->next;
        }
        
        //将栈中元素依次推出至res中
        while(!stk.empty())
        {
            res.push_back(stk.top());
            stk.pop();
        }
        
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/majichen95/article/details/81128700