题解 | #从尾到头打印链表#
从尾到头打印链表
http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
两个3.5
* 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) {
ListNode list1 = listNode;
int len2 = listLength(list1);
int [] sz = new int[len2];
//int sz = new int[len2];
int num_sz = 0;
//ArrayList<Integer> list2 = new ArrayList<Integer>();
while(list1!=null){
sz[num_sz] = list1.val;
num_sz++;
list1 = list1.next;
}
//int num3 = list2.size();
ArrayList<Integer> list3 = new ArrayList<Integer>();
for(int i = 0; i < len2; i++){
//int a = list2.get(num3-1-i);
list3.add(sz[len2-1-i]);
}
//Collections.reverse(list2);
return list3;
}
public int listLength(ListNode listNode){
ListNode list_1 = listNode;
int len = 0;
while(list_1 != null){
len = len+1;
list_1 = list_1.next;
}
return len;
}
}


