题目:从尾到头打印链表
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
解题思路
1.建一个栈(特点:先前后出)和一个链表2
2.把输入链表的数据依次进栈
3.把栈里的东西倒进链表2中
参考代码
using System.Collections.Generic;
/*
public class ListNode
{
public int val;
public ListNode next;
public ListNode (int x)
{
val = x;
}
}*/
class Solution
{
// 返回从尾到头的列表值序列
public List<int> printListFromTailToHead(ListNode listNode)
{
// write code here
Stack<int> stack = new Stack<int>();
List<int> list = new List<int>();
ListNode head = listNode;
while(head != null) //进栈
{
stack.Push(head.val);
head = head.next;
}
while(stack.Count>0) //出栈
{
int item = stack.Pop();
list.Add(item);
}
return list;
}
}