zoukankan      html  css  js  c++  java
  • 剑指offer例题5—逆序输出链表

    使用递归:

    #include<iostream>
    using namespace std;
    struct ListNode
    {
    	int value;
    	ListNode *next;
    };
    void Print(ListNode *list)
    {
    	if(list!=NULL)
    	{
    		if(list->next!=NULL)
    		Print(list->next);
    		cout<<list->value<<endl;
    	}	
    }
    int main()
    {
    	int n;
    	while(cin>>n)
    	{
    		ListNode *head=(ListNode*)malloc(sizeof(ListNode*));
    		ListNode *list=head;
    		while(n--)
    		{
    			int m;cin>>m;
    			ListNode *newNode=(ListNode*)malloc(sizeof(ListNode*));
    			newNode->value=m;
    			list->next=newNode;
    			list=list->next;
    		}
    		list->next=NULL;
    		Print(head->next);
    	}
    	return 0;
    }
    
    

     使用栈:

    #include<iostream>
    #include<stack>
    using namespace std;
    struct ListNode
    {
    	int value;
    	ListNode *next;
    };
    void Print(ListNode *list)
    {
    	stack<ListNode*>s;
    	while(list!=NULL)
    	{
    	   s.push(list);
    	   list=list->next;
    	}
    	while(!s.empty())
    	{
    		cout<<s.top()->value<<endl;
    		s.pop();
    	}
    }
    int main()
    {
    	int n;
    	while(cin>>n)
    	{
    		ListNode *head=(ListNode*)malloc(sizeof(ListNode*));
    		ListNode *list=head;
    		while(n--)
    		{
    			int m;cin>>m;
    			ListNode *newNode=(ListNode*)malloc(sizeof(ListNode*));
    			newNode->value=m;
    			list->next=newNode;
    			list=list->next;
    		}
    		list->next=NULL;
    		Print(head->next);
    	}
    	return 0;
    }
    
  • 相关阅读:
    Oracle目录结构及创建新数据库
    Oracle登陆及修改用户密码
    前端开发笔记
    2014年11月6日17:57:13
    游戏体验篇 二
    游戏前端开发随笔【2】
    游戏体验篇 一
    游戏 之 前端系统开发
    换个手机号也是醉了
    winsock2.h的SB东西
  • 原文地址:https://www.cnblogs.com/tgkx1054/p/2839380.html
Copyright © 2011-2022 走看看