BM2 链表内指定区间反转
This commit is contained in:
parent
723235895b
commit
3fdb4a491f
@ -0,0 +1,40 @@
|
||||
package com.huangge1199.nowcoder.bm.BM2;
|
||||
|
||||
import com.huangge1199.nowcoder.common.ListNode;
|
||||
|
||||
/**
|
||||
* @author hyy
|
||||
* @Classname Solution
|
||||
* @Description BM2 链表内指定区间反转
|
||||
* @Date 2022/7/26 15:57
|
||||
*/
|
||||
public class Solution {
|
||||
/**
|
||||
*
|
||||
* @param head ListNode类
|
||||
* @param m int整型
|
||||
* @param n int整型
|
||||
* @return ListNode类
|
||||
*/
|
||||
public ListNode reverseBetween (ListNode head, int m, int n) {
|
||||
// write code here
|
||||
ListNode cur = head;
|
||||
ListNode bef = new ListNode(0);
|
||||
bef.next = head;
|
||||
ListNode pre = bef;
|
||||
int index = 1;
|
||||
while (index < n) {
|
||||
if (index < m) {
|
||||
pre = cur;
|
||||
cur = cur.next;
|
||||
} else {
|
||||
ListNode tmp = cur.next;
|
||||
cur.next = tmp.next;
|
||||
tmp.next = pre.next;
|
||||
pre.next = tmp;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return bef.next;
|
||||
}
|
||||
}
|
@ -13,7 +13,7 @@ public class ListNode {
|
||||
public int val;
|
||||
public ListNode next = null;
|
||||
|
||||
ListNode(int val) {
|
||||
public ListNode(int val) {
|
||||
this.val = val;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user