《剑指Offer—— 06. 从尾到头打印链表》代码

Posted 穿迷彩服的鲨鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《剑指Offer—— 06. 从尾到头打印链表》代码相关的知识,希望对你有一定的参考价值。


前言

//==================================================================
// 《剑指Offer—— 06. 从尾到头打印链表》代码
// 输入一个链表的头节点,从尾到头反过来返回每个节点的值。
//==================================================================


一、示例

示例 1:

输入:head = [1,3,2]
输出:[2,3,1]

二、代码解析

1.新建.cpp文件

代码如下(示例):

//==================================================================
// 《剑指Offer—— 06. 从尾到头打印链表》代码
// 输入一个链表的头节点,从尾到头反过来返回每个节点的值。
//==================================================================

#include<iostream>
#include<stack>
#include<vector>
using namespace std;

struct ListNode
{
	int val;
	ListNode* next;
};

class Solution
{
public:
	//==================================================================
	// 《数组》
	//==================================================================
	vector<int> reversePrint(ListNode* head)
	{
		ListNode* p = head;
		vector<int> nums;
		vector<int> arr;

		while (p != NULL)
		{
			nums.push_back(p->val);
			p = p->next;
		}
		for (int i = nums.size() - 1; i >= 0; --i)
		{
			arr.push_back(nums[i]);
		}
		return arr;
	}

	//==================================================================
	// 《栈》
	//==================================================================
	void PrintListPeversingly_Iteratively(ListNode* pHead)
	{
		stack<ListNode*> nodes;
		ListNode* pNode = pHead;
		while (pNode != NULL)
		{
			nodes.push(pNode);
			pNode = pNode->next;
		}
		while (!nodes.empty())
		{
			pNode = nodes.top();
			printf("%d\\t", pNode->val);
			nodes.pop();
		}
	}
	//==================================================================
	// 《递归》
	//==================================================================
	void PrintListPeversingly_Recursively(ListNode* pHead)
	{
		if (pHead != NULL)
		{
			if (pHead->next != NULL)
			{
				PrintListPeversingly_Recursively(pHead->next);
			}
			printf("%d\\t", pHead->val);
		}
	}
};

int main()
{

	return 0;
}

以上是关于《剑指Offer—— 06. 从尾到头打印链表》代码的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer打卡06.从尾到头打印链表

算法:剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表

[LeetCode]剑指 Offer 06. 从尾到头打印链表

[LeetCode]剑指 Offer 06. 从尾到头打印链表