【牛客网】剑指offer编程题:从尾到头打印链表

【牛客网】剑指offer编程题:从尾到头打印链表

方法一:从头到尾遍历压栈操作,再出栈,实现链表逆序。

【牛客网】剑指offer编程题:从尾到头打印链表

【牛客网】剑指offer编程题:从尾到头打印链表

方法二:先从头到尾将存入ArrayList中,最后反逆序输出。

这里用到反向迭代器的知识:

begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器,如下所示。这两个迭代器通常用于标记包含容器中所有元素的迭代范围。

c.begin() 返回一个迭代器,它指向容器c的第一个元素

c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置

c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素

c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置

【牛客网】剑指offer编程题:从尾到头打印链表

 

return vector<int>(ArrayList.rbegin(), ArrayList.rend());  //逆序输出

【牛客网】剑指offer编程题:从尾到头打印链表

【牛客网】剑指offer编程题:从尾到头打印链表