力扣-链表删除倒数第N个元素

用数组记录链表的所有指针域。

直接让倒数第N-1个的指针域等于倒数第N+1个。

第一个和最后一个特殊处理。

func removeNthFromEnd(head *ListNode, n int) *ListNode {

  l := make([]*ListNode,0)

  l = append(l, head)

  for ;head.Next!=nil;{

    l = append(l,head.Next)

    head = head.Next

  }

  if len(l)==1{

    return nil

  }

  if n==1{

    l[len(l)-2].Next = nil

  }else if n==len(l){

    return l[1]

  }else{

    (*l[len(l)-n-1]).Next = l[len(l)-n+1]

  }

  return l[0]

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容