翻转链表_JAVA_中等

反转链表

http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca

  • 利用三个对象来反转链表的步骤

    先用now保存当前头部
    再使用head指向本次反转的头部
    再将end(尾部)的下一位定位到下次反转的头部
    最后进行本次反转

public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head == null || head.next == null) {
            return head;
        }

        // 翻转
        ListNode end = head, now;
        while(end.next != null) {
            // 保存当前头部
            now = head;
            // 将head移动到本次反转后的头部位置
            head = end.next;
            // 将尾部的next定位到下次反转头部位置
            end.next = head.next;
            // 反转
            head.next = now;
        }
        return head;
    }
}
  • 还可以使用栈来进行反转
全部评论

相关推荐

11-02 08:15
已编辑
门头沟学院 Java
美团 Java后端开发 10w刀 美硕
YamadaAnna:包留美的,你拿的美团 招银,没一个不加班的。考虑一下未来吧,应届生的工资真不重要,10w刀税后6w,省省还是能活下去的。回国了35岁怎么办,难道35岁还能返美么,就算35岁还能在国内找到工作,难道打算一辈子9点10点下班么。你有能力在美利坚找到工作,回国如果不是哪个965大厂给你发个ssp,真不值得。 等抽不中h1b,没办法了再回国吧。
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-10 15:43
不想上班蚊不叮在走神:华子是这样的。我投递了,还有其他华子内部人加我,不知道从哪搞的微信号,还要给我打电话劝我改投递方向。直接不鸟就行了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务