zoukankan      html  css  js  c++  java
  • 《剑指Offer》面试题-从头到尾打印链表

    题目描述:

    输入一个链表,从尾到头打印链表每个节点的值。

     

    输入:

    每个输入文件仅包含一组测试样例。
    每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。

     

    输出:

    对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。

     

    样例输入:
    1
    2
    3
    4
    5
    -1
    
    样例输出:
    5
    4
    3
    2
    1

    代码(一)双链表输出:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct node *link;
    typedef struct node{
    	int data;
    	link pre;
    	link next;
    }Node;
    
    void print(link p){
    	while(p->pre){
    		printf("%d
    ", p->data);
    		p = p->pre;
    	}
    }
    
    int main(int argc, char const *argv[])
    {
    	int data;
    	link L = malloc(sizeof(Node));
    	L->pre = L->next = 0;
    	L->data = -1;
    	link p = L;
    	for(; ;){
    		scanf("%d", &data);
    		if(data == -1) break;
    		link y = malloc(sizeof(Node));
    		y->data = data;
    		y->next = p->next;
    		p->next = y;
    		y->pre = p;
    		p = y;
    	}
    	print(p);
    	return 0;
    }
    

      

    代码(二)单链表递归输出:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct node *link;
    typedef struct node{
    	int data;
    	link next;
    }Node;
    
    void print(link p){
    	if(!p) return;
    	if(p){
    		print(p->next);
    	}
    	printf("%d
    ", p->data);
    }
    
    int main(int argc, char const *argv[])
    {
    	int data;
    	link L = malloc(sizeof(Node));
    	L->next = 0;
    	link p = L;
    	for(; ;){
    		scanf("%d", &data);
    		if(data == -1) break;
    		link y = malloc(sizeof(Node));
    		y->data = data;
    		y->next = p->next;
    		p->next = y;
    		p = y;
    	}
    	print(L->next);
    	return 0;
    }
    

      

  • 相关阅读:
    LINUX查看硬件配置命令
    jmeter录制对于ip代理会失效
    性能测试常用指标
    jmeter使用jdbc获取注册验证码进行注册
    jmeter测试文件上传功能
    JMeter 功能挖掘之 WEB 文件导出
    分别用C/C++实现栈
    javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
    jquery解决file上传图片+图片预览
    使用SetInterval时函数不能传参问题
  • 原文地址:https://www.cnblogs.com/firstrate/p/3539124.html
Copyright © 2011-2022 走看看