剑指offer--python --c++--从尾到头打印链表

输入一个链表,从尾到头打印链表每个节点的值。


python解法:先将链表中的值插入到序列l中,之后再将序列逆置,则输出序列即可

def printListFromTailToHead(self, listNode):
        l=[]
        while listNode:
            l.append(listNode.val)
            listNode=listNode.next
        l.reverse()
        return l


c++解法:

思路:先将链表中的元素压入栈中,然后将栈中元素弹出到动态数组中,即实现逆序

vector printListFromTailToHead(ListNode* head) {
        stack stack1;
        vector res;
        while(head)
        {
           stack1.push(head->val);
            head=head->next;
        }
        while(!stack1.empty())
       {
            res.push_back(stack1.top());
            stack1.pop();
        }
        return res;
    }


你可能感兴趣的:(数据结构,Python)