1. 程式人生 > >演算法--連結串列操作

演算法--連結串列操作

1.從尾到頭列印單鏈表

利用棧先遍歷一遍連結串列,然後依次從棧頂彈出即可。

public static void printList(ListNode head){
		Stack<Integer> s = new Stack<>();
		ListNode node = head;
		while(node!=null){
			s.push(node.val);
			node = node.next;
		}
		while(!s.isEmpty()){
			System.out.println(s.pop());
		}
	}

利用遞迴方式  當head非空以及head,next非空說明head為最後一個元素,則輸出,否則遞迴呼叫

public static void printListRec(ListNode head){
		if(head != null){
			if(head.next == null){
				System.out.println(head.val);
			}else{
				printListRec(head.next);
			}
		}
	}