剑指offer 06. 从尾到头打印链表(栈的使用)
程序员文章站
2022-03-22 08:33:21
1. 题目描述2. 解题思路...
1. 题目描述
2. 解题思路
- 利用栈先进后出的特性,先遍历链表的元素,然后依次加入栈。
- 将所有元素加入栈中后,得到栈的长度,创建数组,弹出栈中所有元素,然后从栈中弹出元素并放如数组。
3. 代码
class Solution {
public int[] reversePrint(ListNode head) {
Stack<ListNode> stack = new Stack<ListNode>();
ListNode temp = head;
while(temp != null){
stack.push(temp);
temp = temp.next; //指针后移
}
//链表元素全部入栈
int length = stack.size();
int[] res = new int[length];
for(int i = 0; i < length; i++){
res[i] = stack.pop().val;
}
return res;
}
}
4. 测试结果
本文地址:https://blog.csdn.net/Y_Mlsy/article/details/107288791