您当前的位置:首页 > 百宝箱

笔试题解答

2024-11-09 12:15:22 作者:石家庄人才网

ReverseList(反转链表)

作者:shishusheng

日期:2018年8月22日 23:35

```java

import java.util.ArrayList;

public class ReverseList {

private class ListNode {

int val;

ListNode next = null;

public ListNode(int val) {

this.val = val;

}

}

ArrayList arrayList = new ArrayList<>();

public ArrayList printListFromTailToHead(ListNode listNode) {

if (listNode != null) {

reverseListHelper(listNode); // 辅助函数反转链表并存储结果到arrayList中

return arrayList; // 返回反转后的链表元素列表

} else {

return null; // 如果链表为空则返回null或空列表(视需求而定)

}

}

private void reverseListHelper(ListNode node) { // 辅助函数用于递归反转链表并存储结果到arrayList中

if (node != null) {

reverseListHelper(node.next); // 先递归反转后续链表节点并存储结果到arrayList中

arrayList.add(node.val); // 再添加当前节点值到列表前端以完成反转过程

} else { // 如果链表为空则返回结束递归过程(已处理边界情况)结束递归过程(已完成边界处理)则不再继续递归执行其他代码逻辑代码逻辑停止递归执行操作返回上一级递归调用点执行后续操作。不再继续递归执行其他代码逻辑。不再继续执行其他代码逻辑。} } } } } } } } } } } } } } } } } } }

版权声明:《笔试题解答》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/27761.html