劍指Offer-從尾到頭打印鏈表


題目描述

輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList。

題目大意及分析

題目意思很明確,就是將一個鏈表倒轉,然后返回這個倒轉的鏈表。

  1. 直接用三個臨時指針進行鏈表的反轉。
  2. 使用棧結構,遞歸進行鏈表的倒轉。

我的參考代碼只寫了第一種方法,有興趣的小可愛們可以留言反饋哦!

代碼

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        if(listNode == null){
            return list;
        }
        ListNode head = listNode;
        ListNode cur = listNode.next;
        ListNode temp;
        while(cur != null){
            temp = cur.next;
            cur.next = head;
            head = cur;
            cur = temp;
        }
        listNode.next = null;
        listNode = head;
        while(listNode != null){
            list.add(listNode.val);
            listNode = listNode.next;
        }
        return list;
    }
}

更多內容大家可以訪問我的個人博客:一只大大怪


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM