目录
题目一:反转链表
代码:
题目二:链表内指定区间反转
代码:
题目一:反转链表
代码:
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 ReverseList (ListNode head) {if(head==null){return head;}// write code hereListNode pre=null;ListNode cur=head;ListNode next=head.next;while(next!=null){cur.next=pre;pre=cur;cur=next;next=cur.next;}cur.next=pre;return cur;}
}
题目二:链表内指定区间反转
代码:
import java.util.*;/** public class ListNode {* int val;* ListNode next = null;* public ListNode(int val) {* this.val = val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head ListNode类 * @param m int整型 * @param n int整型 * @return ListNode类*/public ListNode reverseBetween (ListNode head, int m, int n) {if(head==null || m>=n){return head;}// write code hereListNode headNode=new ListNode(-1);ListNode pre=headNode;headNode.next=head;ListNode cur=head;for(int i=1;i<m;i++){pre=cur;cur=cur.next;}for(int i=m;i<n;i++){ListNode temp=cur.next;cur.next=temp.next;temp.next=pre.next;pre.next=temp;}return headNode.next;}
}