首页 > 试题广场 >

链表的中间结点

[编程题]链表的中间结点
  • 热度指数:1741 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
结点数量介于 1100 之间。
示例1

输入

{1,2,3}

输出

{2,3}

说明

此列表中的中间为结点 2 ,测评系统对该结点序列化表述是 {2,3} 
示例2

输入

{1,2,3,4}

输出

{3,4}

说明

此列表中的中间为结点 3 ,测评系统对该结点序列化表述是 {3,4} 

说明:本题目包含复杂数据结构ListNode,点此查看相关信息
package main
//import "fmt"
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return ListNode类
*/
func middleNode( head *ListNode ) *ListNode {
    arr:=[]*ListNode{}
    for p:=head;p!=nil;p=p.Next{
        arr=append(arr,p)
    }
    return arr[len(arr)/2]
}

发表于 2023-03-09 08:41:04 回复(0)