怎么去反转一个单链表,核心思路是什么?希望能够提供文字加java代码解释谢谢
4条回答 默认 最新
- detective0 2021-07-05 17:15关注
//反转链表的其中一种方法可以是:遍历整个链表,每一步储存上一个节点,到下一个节点处,将指针从指向next反转为指向pre public ListNode reverse(ListNode p){ ListNode res = null;//储存结果 ListNode pTemp = p;//将p变量复制转移 ListNode pPre = null; //初始化节点,用来储存每一步的前一个节点,实现反转 while(pTemp != null){ ListNode pNext = pTemp.next; //定义pNext指向pTemp的下一个结点 if(pNext==null){ //如果next是空的,说明原链表的遍历已经到头了 res = pTemp; } pTemp.next = pPre; pPre = pTemp; pTemp = pNext; } return pReversedHead; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分