3. 从尾到头打印链表
题目
输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
解题思路1
从头到尾遍历链表,使用一个栈结构来保存链表,然后取出栈数据进行输出
代码实现
var stack = new Stack<LinkNode>();
var head = linkNode;
do
{
stack.Push(head);
head = head.Next;
} while (head != null);
while (stack.Count > 0)
{
var node = stack.Pop();
Console.WriteLine(node?.Value);
}
解题思路2
使用递归延迟输出链表结果
代码实现
private static void PrintNode_Recursively(LinkNode linkNode)
{
if (linkNode == null)
{
return;
}
PrintNode_Recursively(linkNode.Next);
Console.WriteLine(linkNode.Value);
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。