在不改变链表的情况下从尾到头打印连表-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

在不改变链表的情况下从尾到头打印连表

简介:
+关注继续查看

    输入一个连表的头结点,从尾到头反过来打印出每个结点的值。

    C#语言实现:

1
2
3
4
5
6
7
8
9
10
11
12
public static void PrintRev(LinkedList<int> lList)
        {
            Stack<int> stack = new Stack<int>();
            foreach (int item in lList)
            {
                stack.Push(item);
            }
            while (stack.Count > 0)
            {
                Console.WriteLine(stack.Pop());
            }
        }

    Java语言实现:

1
2
3
4
5
6
7
8
9
10
private static void printRev(LinkedList<Integer> lLink) {
        Stack<Integer> stack = new Stack<Integer>();
        Iterator<Integer> it = lLink.iterator();
        while(it.hasNext()){
            stack.push(it.next());
        }
        while (!stack.isEmpty()) {
            System.out.println(stack.pop());
        }
    }

    Python语言实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Node(object):
    """
    单链表节点
    """
    def __init__(self, data=Nonenext=None):
        self.data = data
        self.next = next
         
         
class LinkedList(object):
    def __init__(self, node=None):
        self.node = node  
         
    def print_link_rev(self):
        """
        逆序打印链表
        :return:
        """
        lst = []
        node = self.node
        while node:
            lst.append(node.data)
            node = node.next
        for data in sorted(lst, reverse=True):
            print(data)



本文转自 许大树 51CTO博客,原文链接:http://blog.51cto.com/abelxu/1966050,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8424 0
Xcode最好用的日志打印方法
一般打印日志都是用的系统自带的NSLog来打印的,假如项目做完了,要上线了,这些打印的日志就会很浪费性能,网上有很多的解决办法,我也是感觉网上的还是有点不方便,所以就自己又修改了一下,分享给大家。 网上的方法就是利用Debug状态和Release状态来控日志的输出,如果是Debug状态的话就输出日志(就是NSLog的东西会打印),如果是Release状态的话就不用输出日志(就是NSLog的东西不会打印。
641 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10203 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12047 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11378 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6529 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载