【剑指Offer】003 从尾到头打印链表
2018-02-10 14:02
369 查看
【剑指Offer】003 从尾到头打印链表
题目链接: 剑指Offer 第三题 牛客网
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
题目很简单,但值得注意的是,要求要从尾到头打印,当时写了半天,一看,我擦。。。
思路有两个:一个是利用递归,或者栈,当然,递归也是用栈来实现的;
另一个是用特里所给定的库函数操作,这里就不详细写了。
递归 C++版:/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int>v;
vector<int> printListFromTailToHead(ListNode* head) {
if(head!=NULL)
{
if (head->next!=NULL)
{
printListFromTailToHead(head->next);
}
v.push_back(head->val);
}
return v;
}
};递归 Java版:
日期:2018/2/10-14:18
题目链接: 剑指Offer 第三题 牛客网
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
题目很简单,但值得注意的是,要求要从尾到头打印,当时写了半天,一看,我擦。。。
思路有两个:一个是利用递归,或者栈,当然,递归也是用栈来实现的;
另一个是用特里所给定的库函数操作,这里就不详细写了。
递归 C++版:/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int>v;
vector<int> printListFromTailToHead(ListNode* head) {
if(head!=NULL)
{
if (head->next!=NULL)
{
printListFromTailToHead(head->next);
}
v.push_back(head->val);
}
return v;
}
};递归 Java版:
/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.ArrayList; public class Solution { ArrayList<Integer>arr=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode!=null) { this.printListFromTailToHead(listNode.next); arr.add(listNode.val); } return arr; } }其实这两个是不是差不多阿,就是递归的思想,只不过C++有指针,而Java没有而已。
日期:2018/2/10-14:18
相关文章推荐
- 剑指offer-从尾到头打印链表
- 剑指Offer——从尾到头打印链表
- 剑指Offer----从尾到头打印链表
- 剑指offer-3.从尾到头打印链表
- 牛客网剑指offer-从尾到头打印链表
- 剑指offer 面试题5 从尾到头打印链表(递归实现)
- 剑指offer--从尾到头打印链表(5)
- 剑指offer 从尾到头打印链表
- 【剑指offer】-从尾到头打印链表
- 剑指offer——从尾到头打印链表节点的值
- 【剑指offer】从尾到头打印链表
- 剑指offer面试题——从尾到头打印链表
- 【剑指offer】从尾到头打印链表
- 剑指offer-从尾到头打印链表
- 【剑指offer】【从尾到头打印链表 】【栈应用】【注意出栈后size()的变化】
- 剑指offer---从尾到头打印链表
- half ok剑指Offer面试题6 从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 剑指offer-从尾到头打印链表
- 剑指offer--从尾到头打印链表