泰州网站建设设计,学校手机网站模板,WordPress图片及插件,sae网站备案题目
输入一个链表的头节点#xff0c;从尾到头反过来返回每个节点的值#xff08;用数组返回#xff09;。 示例 1#xff1a; 输入#xff1a;head [1,3,2]输出#xff1a;[2,3,1] 限制#xff1a;
0 链表长度 10000 解题思路 1.题目要求我们从尾到头反过…题目
输入一个链表的头节点从尾到头反过来返回每个节点的值用数组返回。 示例 1 输入head [1,3,2]输出[2,3,1] 限制
0 链表长度 10000 解题思路 1.题目要求我们从尾到头反过来返回每个节点的值这道题我们可以用栈去解决但是我们还可以采用另一种方法。就是我们可以新建一个数组然后去遍历我们的链表将量表中元素倒着放入数组中 2.首先我们先设置一个 count 变量去计算出链表的长度新建一个与链表长度相同的链表然后我们去遍历数组将遍历到的第一个元素放入链表中的倒数第一位第二个元素放入链表中的倒数第二位以此类推直到遍历完整个链表。这时数组中存储的就是原链表的倒叙了我们直接返回即可。 代码实现
class Solution {public int[] reversePrint(ListNode head) {if(head null){return new int[0];}int count 0;ListNode temp head;while(temp ! null){count;temp temp.next;}int[] arr new int[count];int k arr.length - 1;while(head ! null){arr[k--] head.val;head head.next;}return arr;}
}
测试结果