反转链表

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
 public static ListNode ReverseList(ListNode head) {
            if(head==null)

            return null;

            ListNode reversedHead=null;
            ListNode current=head;
            ListNode tmp=null;
        
            //循环遍历节点
            while(current!=null){
                // 将节点赋予temp
            tmp= current;
            //
            current= current.next;
            //将节点尾指针置为空
            tmp.next=null;
            //判断反转链表是否为空
            if(reversedHead==null)
            reversedHead=tmp;
            //否则按照头插法插入
            else{
                tmp.next=reversedHead;
                reversedHead=tmp;
            }
            
     }
             //返回头节点
            return reversedHead;
     }
}
全部评论

相关推荐

10-28 17:30
已编辑
华东交通大学 Java
iori2333:这太正常了 我字节面了四五轮 没有一次是在官网投递 都是hr主动捞
秋招笔试记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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