剑指offer(5)从尾到头打印offer

8人阅读 评论(0) 收藏 举报
分类:

本博客转载自:

作者:感冒的青春

链接:点击打开链接
來源:简书
#include<iostream>
#include<stack>
#include<vector>
using namespace std;
struct ListNode {
      int val;
      struct ListNode *next;
      ListNode(int x) :
            val(x), next(NULL) {
      }
};

class Solution
{
public:
	std::vector<int> printListFromTailToHead(struct ListNode* head) {
		
		std::vector<int> result;//存储输出的节点的值
		std::stack<struct ListNode*> nodes;//用栈来存储每个节点

		struct ListNode* pNode = head;//从链表头开始
		while (pNode != NULL) {            //链表的所有节点全部入栈
			nodes.push(pNode);
			pNode = pNode->next;
		}

		while (!nodes.empty()) 
		{            //出栈:后进先出
			pNode = nodes.top();
			result.push_back(pNode->val);
			;
			nodes.pop();
		}
		
		return result;
	}
};
int main()
{
	ListNode* head = new ListNode(-1);

	ListNode* pnode1 = new ListNode(0);
	head->next = pnode1;

	ListNode* pnode2 = new ListNode(1);
	pnode1->next = pnode2;

	ListNode* pnode3 = new ListNode(2);
	pnode2->next = pnode3;

	pnode3->next = NULL;

	Solution A;

	vector<int> result;
	result = A.printListFromTailToHead(head);
	cout << "OK" << endl;


	vector<int>::iterator iElementLocator = result.begin();
	while (iElementLocator != result.end())
	{
		cout << *iElementLocator << endl;
		++iElementLocator;
	}
	system("pause");
	return 0;
}    


查看评论

Python 数据挖掘与机器学习进阶实训-5

-
  • 1970年01月01日 08:00

剑指offer(C++)——从尾到头打印链表

题目描述 输入一个链表,从尾到头打印链表每个节点的值。 思路: (1)由于链表只能从头到尾进行遍历,于是我们就想如果能把链表的指针翻转过来,我们就可以实现从尾到头的输出了。但是这里有...
  • YF_Li123
  • YF_Li123
  • 2017-04-21 20:48:56
  • 469

剑指offer-从尾到头打印链表-php

题目 输入一个链表,从尾到头打印链表每个节点的值。 题解 一种是使用栈。 第二种是递归。 代码//递归版本 function printListFromTailToHead($head)...
  • acingdreamer
  • acingdreamer
  • 2017-04-11 16:53:35
  • 450

剑指offer: 从尾到头打印链表(链表)

题目: 题目描述 输入一个链表,从尾到头打印链表每个节点的值。返回新链表。 分析: 逆转链表,与栈顺序一致,可以用辅助栈解决这个问题。 代码: vect...
  • fengsser
  • fengsser
  • 2015-07-10 09:56:52
  • 1051

剑指offer:从尾到头打印链表(java)

一般来说,我们会想到链表逆置,然后再从头打印,但这样会改变链表结构,如果面试官认可的话,则可以,否则还要更简便的方法。 1、使用栈   /** * 从尾到头打印链表 * @p...
  • abc7845129630
  • abc7845129630
  • 2016-09-29 10:23:02
  • 205

剑指offer-Java-从尾到头打印链表

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 方式1:非递归的实现 public class PrintListReverse{ public static void main ...
  • zcl1359205840
  • zcl1359205840
  • 2016-08-26 14:47:29
  • 416

剑指offer面试题——从尾到头打印链表

题目描述 输入一个链表,从尾到头打印链表每个节点的值。 在线编程链接见:从尾到头打印链表 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 分析:这题看似比较简单,但是...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016-08-05 13:28:07
  • 526

JAVA实现从尾到头打印链表(《剑指offer》)

最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网...
  • qq_15062527
  • qq_15062527
  • 2015-10-01 15:14:31
  • 2770

剑指offer之从尾到头打印链表(Python)

输入一个链表,从尾到头打印链表每个节点的值。
  • u010636181
  • u010636181
  • 2017-10-14 20:32:02
  • 107

【剑指offer】面试题 6:从尾到头打印链表

题目描述 输入一个链表,从尾到头打印链表每个节点的值。 时间限制:1秒 空间限制:32768K 热度指数:243238 本题知识点: 链表 思路: 第一种...
  • Jinlong_Xu
  • Jinlong_Xu
  • 2017-06-21 13:40:33
  • 294
    个人资料
    等级:
    访问量: 1493
    积分: 96
    排名: 142万+
    文章分类
    文章存档
    最新评论