[leetcode] 19. Remove Nth Node From End of List python实现【easy】
2016-06-14 21:50
519 查看
Remove Nth Node From End of List My Submissions QuestionEditorial Solution
Given a linked list, remove the nth node from the end of list and return its head.
For example,
Given linked list: 1->2->3->4->5, and n = 2.
After removing the second node from the end, the linked list becomes 1->2->3->5.
Note:
Given n will always be valid.
Try to do this in one pass.
意思是说给你一个单链表, 然后让你删掉从后往前的第n个,比如这个1−>2−>3−>4−>5,删掉倒数第二个就变成了1−>2−>3−>5.
而且有要求,最好跑一次。。
那想法就是记录一下呗,每次跑的时候都记一下它前第n个位置那个节点。如果当前节点变成了空(也就是到了结尾),则删掉对应的记录的那个节点(前第n个节点)。
双指针的意思
Given a linked list, remove the nth node from the end of list and return its head.
For example,
Given linked list: 1->2->3->4->5, and n = 2.
After removing the second node from the end, the linked list becomes 1->2->3->5.
Note:
Given n will always be valid.
Try to do this in one pass.
意思是说给你一个单链表, 然后让你删掉从后往前的第n个,比如这个1−>2−>3−>4−>5,删掉倒数第二个就变成了1−>2−>3−>5.
而且有要求,最好跑一次。。
那想法就是记录一下呗,每次跑的时候都记一下它前第n个位置那个节点。如果当前节点变成了空(也就是到了结尾),则删掉对应的记录的那个节点(前第n个节点)。
双指针的意思
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def removeNthFromEnd(self, head, n): """ :type head: ListNode :type n: int :rtype: ListNode """ if head == None: return p = q = head r = None i = 0 while q != None: if i != n: i +=1 q = q.next continue else: r = p p = p.next q = q.next if r ==None: return head.next r.next = p.next return head
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法