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); 添加不知这个节点的值吗?为什么会是下一个节点的值a ?求大神解答
this代表当前对象,创建Solution对象调用printListFromTailToHead方法,this指向Solution对象,在这段代码中可用可不用。递归代码执行顺序是遍历到最后一个ListNode,ArrayList再从最后一个ListNodeadd它的val.
例如7————>8————>9————>10,先用遍历到10,再把10add进list,再add9,所以实现了从尾到头打印链表。