输入一个链表,从头到尾输出
cirzear / / 算法 / 阅读量 322
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路: 1.利用数据结构中的栈的先进后出的特点完成反转的操作。 2.通过递归进行翻转。 代码1:
class Solution{
    public:
    vector printListFromTailToHead(ListNode* head)
    {
        vector result;
        ListNode *p = NULL;
        p = head;
        stack MyStack;
        while(p != NULL){
            MyStack.push(p->val);
            p = p -> next;
        }
        while(!MyStack.empty()){
            result.push_back(MyStack.top());
            MyStack.pop();
        }
        return result;
    }
};
代码2:
class Solution {
public:
    vector value;
    vector printListFromTailToHead(ListNode* head) {
        ListNode *p=NULL;
        p=head;
        if(p!=NULL){
            if(p->next!=NULL){
                printListFromTailToHead(p->next);
            }
            value.push_back(p->val);
        }
        return value;
    }
};
支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章