【20】从尾到头打印链表

简介: 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值方案一:通常遍历链表是从头开始一个一个的遍历,所以如果要反过来打印链表,可以借助栈来实现方案二:栈实现的方法就是递归,所以也可以用来递归来实现//链表的结点struct Li...


题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值


方案一:通常遍历链表是从头开始一个一个的遍历,所以如果要反过来打印链表,可以借助栈来实现

方案二:栈实现的方法就是递归,所以也可以用来递归来实现


//链表的结点
struct ListNode{
    int value;
	ListNode *nextNode;
};

//栈实现从尾到头输出
void PrintListReverse(ListNode *headNode){
	if(headNode == NULL){
	    return;
	}
	//栈
	stack<ListNode*> stk;
	ListNode *tmpNode = headNode;
	while(tmpNode != NULL){
		stk.push(tmpNode);
		tmpNode = tmpNode->nextNode;
	}
	//输出
	while(!stk.empty()){
		ListNode *topNode = stk.top();
		cout<<topNode->value<<endl;
		stk.pop();
	}
}

//用递归来实现从尾到头输出
void PrintListReverse(ListNode *headNode){
	if(headNode == NULL){
	    return;
	}
	PrintListReverse(headNode->nextNode);
	cout<<headNode->value<<endl;
}



目录
相关文章
|
C语言 C++
【九章斩题录】从尾到头打印链表(JZ6)
【九章斩题录】从尾到头打印链表(JZ6)
56 0
|
6月前
|
存储 Java C语言
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
41 1
|
6月前
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
|
6月前
剑指Offer06.从尾到头打印链表
剑指Offer06.从尾到头打印链表
42 0
|
6月前
《剑指offer》——从尾到头打印链表
《剑指offer》——从尾到头打印链表
|
6月前
|
Java
每日一题《剑指offer》链表篇之从尾到头打印链表
每日一题《剑指offer》链表篇之从尾到头打印链表
73 0
每日一题《剑指offer》链表篇之从尾到头打印链表
|
6月前
剑指 Offer 06:从尾到头打印链表
剑指 Offer 06:从尾到头打印链表
31 0
|
6月前
|
C++
【剑指offer】-从尾到头打印链表-03/67
【剑指offer】-从尾到头打印链表-03/67
|
6月前
剑指Offer LeetCode 面试题06. 从尾到头打印链表
剑指Offer LeetCode 面试题06. 从尾到头打印链表
28 0
|
6月前
剑指Offer 面试题06. 从尾到头打印链表
剑指Offer 面试题06. 从尾到头打印链表
36 0