怎么去反转一个单链表,核心思路是什么?希望能够提供文字加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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报