zoukankan      html  css  js  c++  java
  • 剑指offer 从尾到头打印链表

    题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

    代码:

    //迭代库函数实现
    class Solution {
    public:
        vector<int> printListFromTailToHead(ListNode* head) {
            vector<int> ArrayList;
            while(head != NULL){
                ArrayList.insert(ArrayList.begin(), head ->val);
                head = head ->next;
            }
            return ArrayList;
        }
    };
    //递归实现
    class Solution {
    public:
        vector<int> ArrayList;
        vector<int> printListFromTailToHead(ListNode* head) {
            ListNode* p;
            p = head;
            if( p != NULL ){
                if( p ->next != NULL){
                    printListFromTailToHead(p ->next);
                }
                ArrayList.push_back(p ->val);
            }
            return ArrayList;
        }
    };

    我的笔记:迭代实现,需要注意每一次迭代循环后都要将当前指针指向下一个位置。递归实现,需要注意将数组ArrayList设为类中的公有变量,否则在每次递归时都会重新定义数组,使得无法存储变量,利用递归实现就是将链表所有值入栈,再依次出栈的原理。

  • 相关阅读:
    ionic:安装
    ionic:ionic 教程
    ORM-Draper-DbConnectionManipulator:return new {}
    ionic:目录
    ionic:temple
    开发框架-手机应用:ionic
    CSS3:CSS3 文本效果
    CSS3:CSS3 渐变(Gradients)
    CARP-VRRP-HSRP
    java实现输入日期
  • 原文地址:https://www.cnblogs.com/john1015/p/12897065.html
Copyright © 2011-2022 走看看