【数据结构与算法】给定一个链表及该链表的头结点,要求实现链表的逆序输出
1.利用数据结构栈的先入后出的特点,通过将链表的所有节点依次入栈和依次出栈,完成链表的逆序输出,但这种做法,并未改变链表的节点(并未完成聊表翻转),只是简单地将链表所有节点逆序输出
相关代码:
package com.csu;
import java.util.List;
import java.util.Stack;
public class ReversLinkedList {
public static class ListNode{
//节点的值
int val;
//下一节点
ListNode next;
}
//逆序输出,在方法中传入链表的头结点
public static void printListInversely(ListNode head){
Stack<ListNode> stack = new Stack<>();
while(head != null){//当头节点不为空的时候使链表进栈
stack.push(head);
head = head.next;
}
ListNode temp;
//进栈之后,依次出栈
while(!stack.isEmpty()){
temp = stack.pop();
System.out.print(temp.val+" ");
}
}
public stati