其他分享
首页 > 其他分享> > 从尾到头打印链表

从尾到头打印链表

作者:互联网

 

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:

输入:head = [1,3,2]
输出:[2,3,1]

限制:

0 <= 链表长度 <= 10000

 

题解:

首先算出链表的长度

创建保存结果的数组

然后再遍历一遍,从尾部开始

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public int[] reversePrint(ListNode head) {
11         ListNode node = head;
12         int count=0;
13         while(node!=null){
14             count++;
15             node=node.next;
16         }
17         int ans[]=new int [count];
18         node=head;
19         for(int i=count-1;i>=0;i--){
20             ans[i]=node.val;
21             node=node.next;
22             
23         }
24         return ans;
25 
26     }
27 }

 

标签:node,count,head,ListNode,到头,int,链表,从尾
来源: https://www.cnblogs.com/treasury/p/12595254.html