反转链表

反转链表

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

思路:双指针+辅助指针,具体如下:定义help1和help2分别指向头节点和头节点的下一个节点,需要做的就是让help2指向下一个节点,辅助指针保存help2的信息,并指向help1,最后help1存贮temp的节点信息,循环条件就是help2不为null
代码

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null||head.next==null) return head;
        ListNode help1 = head;
        ListNode help2 = head.next;
        while(help2!=null){
            ListNode temp = help2;
            help2 = help2.next;
            temp.next = help1;
            help1 = temp;
        }
        head.next = null;
        return help1;
    }
}
全部评论

相关推荐

2025-12-31 18:42
复旦大学 Java
点赞 评论 收藏
分享
2025-11-07 13:25
华东理工大学 golang
嵌入式的小白:基本一面挂这种 1.要复盘面试 2.面试前要学会准备,看看岗位描述要求的技术,还有对应公司的行业,好好准备,举个例子,汽车好多基本会问到can
0offer互助地
点赞 评论 收藏
分享
2025-12-27 22:14
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务