学设计的网站都有哪些,广东深圳网络科技有限公司,什么购物平台质量最好,新手制作ppt详细步骤传送门
牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点
题目以及解析
题目 解题代码及解析
解析
这一道题与昨天的题目在解题思路上有一定的相似之处#xff0c;都是基于双指针定义快慢指针#xff0c;这里我们让快指针先走n步#xff0c;又因为n一定…传送门
牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点
题目以及解析
题目 解题代码及解析
解析
这一道题与昨天的题目在解题思路上有一定的相似之处都是基于双指针定义快慢指针这里我们让快指针先走n步又因为n一定为有效值所以快指针为空时慢指针刚好离快指针n个单位距离即链表的倒数第n个节点
代码
package mainimport _ fmt
import . nc_tools/** type ListNode struct{* Val int* Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param head ListNode类* param n int整型* return ListNode类*/
func removeNthFromEnd(head *ListNode, n int) *ListNode {fast : headslow : headfor i : 0; i n1; i {if fast nil {return head.Next}fast fast.Next}for fast ! nil {slow slow.Nextfast fast.Next}slow.Next slow.Next.Nextreturn head
}
总结
这题依旧是一道链表题但是它很好的体现双指针思想的引用大家可以简单的思考一下用这道题来作为双指针算法的练手题