题解 | #链表内指定区间反转#

链表内指定区间反转

https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c

package main
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @param m int整型 
 * @param n int整型 
 * @return ListNode类
*/
func reverseBetween( head *ListNode ,  m int ,  n int ) *ListNode {
    // write code here

    virTrualNode := &ListNode{}
    virTrualNode.Next = head
    pre := virTrualNode

    for i := 1;i < m; i++ {
        pre = pre.Next
    }

    tempHead := pre.Next

    for i := m; i<n; i++ {
        next := tempHead.Next
        tempHead.Next = next.Next
        next.Next = pre.Next
        pre.Next = next
    }

    return virTrualNode.Next
}

全部评论

相关推荐

点赞 评论 收藏
分享
小浪_Coding:个人技能一条测试没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务