题目链接:BM2 链表内指定区间反转
题目描述:
思路:思路很简单,先定义一个指针,让它走m-1步到第m-1个的位置,然后反转 [m, n]区间内的链表,将其接到前半段中就可以了。
代码·:
package main
import . "nc_tools"
func reverseBetween( head *ListNode , m int , n int ) *ListNode {
if head == nil || head.Next == nil {
return head
}
res := &ListNode{Next: head}
pre := res
for i := 1; i < m; i++ {
pre = pre.Next
}
cur := pre.Next
for i := m;i < n ;i++ {
temp := cur.Next
cur.Next = temp.Next
temp.Next = pre.Next
pre.Next = temp
}
return res.Next
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)