zoukankan      html  css  js  c++  java
  • 【算法编程 C++ python】单链表反序输出

    题目描述

    输入一个链表,从尾到头打印链表每个节点的值。
     
    以下方法仅仅实现了功能,未必最佳。在牛客网测试,
    C++:3ms 480k
    Python:23ms 5732k
    /**
    *  struct ListNode {
    *        int val;
    *        struct ListNode *next;
    *        ListNode(int x) :
    *              val(x), next(NULL) {
    *        }
    *  };
    */
    class Solution {
    public:
        vector<int> printListFromTailToHead(ListNode* head) {
            vector<int> vec_output;
            if (head == NULL){return vec_output;}
            do{
                vec_output.push_back(head->val);
                head = head->next;
            }while(head!=NULL);
            reverse(vec_output.begin(),vec_output.end());
            return vec_output;
        }
    };

    Python:

    # -*- coding:utf-8 -*-
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        # 返回从尾部到头部的列表值序列,例如[1,2,3]
        def printListFromTailToHead(self, listNode):
            list_val = []
            while(True):
                if listNode == None: return [] 
                list_val.append(listNode.val)
                if (listNode.next):
                    listNode = listNode.next
                else:
                    break
            return list_val[::-1] 
  • 相关阅读:
    three.js
    three.js
    three.js
    反射API提供的常用类和函数
    PHP控制反转(IOC)和依赖注入(DI)
    优化思路以及优化过程
    nginx的缓存设置提高性能
    网页内容的压缩编码与传输速度优化
    nginx日志按日期自动切割脚本
    mysql数据备份
  • 原文地址:https://www.cnblogs.com/xiangfeidemengzhu/p/8975034.html
Copyright © 2011-2022 走看看