反转链表

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=196&&tqId=37111&rp=1&ru=/activity/oj&qru=/ta/job-code-total/question-ranking

第一种:递归

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

第二种:循环(头插法)

public ListNode ReverseList(ListNode head) {
        if(head==null ||head.next==null) return head;
        ListNode pre=new ListNode(0);
        pre.next=null;
        while(head!=null){
            ListNode temp =head.next;
            head.next=pre.next;
            pre.next=head;
            head=temp;
        }
        return pre.next;
    }
全部评论

相关推荐

FOX2003:还没学后端框架吧,看你第一个项目用的mockjs。第一个项目太老而且可能是从github上扒的(我的课设就是这个),第二个主要依靠AI的能力,而且前端项目找前端实习的话,留个github地址好点,主要还是前端要求越来越高了。另外,去***看看,符合就投,boss投的多,HR工作量就大,没功夫多聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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