这段时间一直没更新刷题的博客,因为后来觉得题做的不少,每道题都上博客,有点费时间。然后,最近发现做过的题目还是会遗忘,晚上躺床上看自己做过题的博客进行复习,也不错。
难度:简单
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
这道题比较简单,方法也比较多:
第一种:使用栈
第二种:使用递归,回溯
第三种:反转链表,然后建个数组进行赋值
class Solution {
public int[] reversePrint(ListNode head) {
ListNode pre = null;
int count =0;
while(head != null){
ListNode cur = head;
head = head.next;
cur.next = pre;
pre = cur;
count++;
}
int[] res = new int[count];
for(int i=0;i<res.length;i++){
res[i] = pre.val;
pre = pre.next;
}
return res;
}
}