题解 | #牛群的颠倒排列#

牛群的颠倒排列

https://www.nowcoder.com/practice/bd610bea9cbf4de2a9be25646f1f69f6?tpId=363&tqId=10605822&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj

import java.util.*;

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

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode reverseCows (ListNode head) {
        ListNode prev = null;
        ListNode cur = head;
        while (cur != null) {
            ListNode next = cur.next;
            cur.next = prev;
            prev = cur;
            cur = next;
        }
        return prev;
    }
}

本题知识点分析:

1.链表遍历

2.虚拟头结点

3.数学模拟

本题解题思路分析:

1.prev用于保存前一个结点,cur表示当前节点,next表示下一个节点

2.先让cur.next = prev;因为要翻转,因此当前节点的下一个是前一个结点的地址

3.prev = cur;覆盖地址, cur = next;覆盖地址,其实就是prev和cur分别向后走了一步。

4.最后返回prev

本题使用编程语言: Java

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-07 12:28
沟头学院:终于体会到明星大佬为什么要偷税漏税了
点赞 评论 收藏
分享
02-28 17:01
门头沟学院 C++
俊朗的铁猫希望被捞:兄弟如果只想搞钱的话,你这个简历最适合的其实是辅导机构做dai写啥的真的特别赚
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务