目录
描述
示例 1:
思想:递归、栈
代码
描述
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:输入:head = [1,3,2] 输出:[2,3,1]思想:递归、栈 代码
class Solution { public int[] reversePrint(ListNode head) { ListNode node = traverse(head); linkedListlist = new linkedList<>(); ListNode temp = node; while(temp!=null){ list.add(temp.val); temp = temp.next; } int[] res = new int[list.size()]; // int index = 0; // while(!list.isEmpty()){ // res[index] = list.removeFirst(); // index++; // } for(int i = 0; i < list.size(); i++){ res[i] = list.get(i); } return res; } public ListNode traverse(ListNode head){ if(head == null || head.next == null) return head; ListNode temp = traverse(head.next); head.next.next = head; head.next = null; return temp; } //方法二 栈 // class Solution { // public int[] reversePrint(ListNode head) { // linkedList stack = new linkedList (); // while(head != null) { // stack.addLast(head.val); // head = head.next; // } // int[] res = new int[stack.size()]; // for(int i = 0; i < res.length; i++) // res[i] = stack.removeLast(); // return res; // } // } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)