怎么去反转一个单链表,核心思路是什么?希望能够提供文字加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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题