鍍金池/ 問答/Java/ 劍指offer printListFromTailToHead 從尾到頭打印鏈表

劍指offer printListFromTailToHead 從尾到頭打印鏈表

public class Solution {
ArrayList<Integer> arrayList=new ArrayList<Integer>();

public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
    if(listNode!=null){ 
        this.printListFromTailToHead(listNode.next);
        arrayList.add(listNode.val); 
    } 
    return arrayList; 
}

搞不懂代碼中this的含義,而且arrayList.add(listNode.val); 添加不知這個節(jié)點的值嗎?為什么會是下一個節(jié)點的值a ?求大神解答

回答
編輯回答
逗婦惱

this代表當前對象,創(chuàng)建Solution對象調(diào)用printListFromTailToHead方法,this指向Solution對象,在這段代碼中可用可不用。遞歸代碼執(zhí)行順序是遍歷到最后一個ListNode,ArrayList再從最后一個ListNodeadd它的val.
例如7————>8————>9————>10,先用遍歷到10,再把10add進list,再add9,所以實現(xiàn)了從尾到頭打印鏈表。

2017年1月30日 06:27