从尾到头打印链表
来源:互联网 发布:debian安装软件命令 编辑:程序博客网 时间:2024/06/08 07:16
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
解题思路
两种方法。第一种是递归法,对于每个节点head,先从尾到头打印以head->next为头节点的链表,再打印head本身的值。
第二种方法用栈,从前到后遍历一遍链表,将每个节点的值依次压到栈中,然后再将栈中元素依次出栈即可。
代码
/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> result; if (!head) return result; //递归法 /* if (head->next == NULL) { result.push_back(head->val); return result; } result = printListFromTailToHead(head->next); //递归,先打印后面的节点 result.push_back(head->val); //再打印当前结点 return result;*/ //用栈法 std::stack<int> valStack; while (head != NULL) { valStack.push(head->val); head = head->next; } while (!valStack.empty()) { result.push_back(valStack.top()); valStack.pop(); } return result; }};
阅读全文
0 0
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- BZOJ 4870 [Shoi2017] 组合数问题
- 对于运行时权限的探究
- java网络基础—TCP
- 测试开发行业正在洗牌,新的机会是什么
- 欢迎使用CSDN-markdown编辑器
- 从尾到头打印链表
- 3611: [Heoi2014]大工程
- windows操作系统之间的时间精确同步
- PAT b1001-1005题解
- C++中内存分配方式、空指针及野指针的区别
- 2017.7.7 C组总结
- 通过Lua代码创建一个Cube,并实现控制行走
- 补间动画
- Liferay DXP Soy porlet系列(四)使用Promise对象访问Liferay web service