反转链表

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;
     }
}
全部评论

相关推荐

真起不了响亮的名字:九月份人家投秋招你投实习嘛,会不会有点晚了,算你九月份直接上岗,实习三个月后一月初去和别人抢秋招补录还是备战春招啊更别说休息一个月后还要重新复习八股和算法
点赞 评论 收藏
分享
06-24 19:27
云南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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