876. 链表的中间结点
解题思路
1.第一次循环,获取size
2.第二次循环,根据[size/2]向上取整,获取值
解题遇到的问题
无
后续需要总结学习的知识点
无
##解法1
class Solution {
/**
* 1.第一次循环,获取size
* 2.第二次循环,根据[size/2]向上取整,获取值
*/
public ListNode middleNode(ListNode head) {
ListNode temp = head;
int size = 1;
while (temp.next != null) {
size++;
temp = temp.next;
}
temp = head;
for (int i = 0; i < Math.ceil(size / 2); i++) {
temp = temp.next;
}
return temp;
}
public class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}
网友评论