题目描述
算法题:给一个链表,从中间断开,然后两部分分别翻转后再拼接上,其中的 翻转链表(要求原地翻转)。
来源:牛客网字节Java二面面经
相似题目
思路
(1)寻找链表的中间节点,将链表分为两个链表。
(2)反转两个子链表。
(3)合并反转后的子链表。
Java
package ChongPaiLianBiao;
import ReverseList.ReverseList;
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}
class Solution {
//(1)寻找链表的中间节点,将链表分为两个链表。
public ListNode middleNode(ListNode head) {
if(head == null){
return head;
}
ListNode