微软100题13题(输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针)
来源:互联网 发布:linux虚拟机修改ip 编辑:程序博客网 时间:2024/06/06 03:07
1python版本
'''Created on 2017-1-18@author: admin第13题(链表):题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};'''from _overlapped import NULLclass SimpleList: def __init__(self,data,k): self.k=k if len(data)>0: self.root=Node(data[0]) tmp=self.root if len(data)>1: for i in range(1,len(data)): node=Node(data[i]) tmp.next=node tmp=node def printList(self): tmp=self.root while tmp!=NULL: print(tmp.value,end=",") tmp=tmp.next print() def _printLastKNodes(self,node): prev=self.root current=self.root.next next1=current.next prev.next=NULL current.next=prev while next1.next!=NULL: prev=current current=next1 next1=next1.next current.next=prev next1.next=current self.root=next1 def printLastKNodes(self): self._printLastKNodes(self.root) i=0 while i <self.k and self.root!=NULL: print(self.root.value,end=",") self.root=self.root.next i+=1class Node: def __init__(self,value): self.value=value self.next=NULLif __name__ == '__main__': data=[1,2,3,4,5,6,7,8,9] sl=SimpleList(data,4) sl.printList() sl.printLastKNodes()
2java版本
http://blog.csdn.net/hxpjava1/article/details/22433351
3scala版本
package ms/** * 第13题(链表): 题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; */class SimpleList(var k:Int){ var root:Node=null def this(data:List[Int],k:Int)={ this(k) if(data.length>0){ this.root=new Node(data(0)) var tmp=this.root for(i <- 1 until data.length){ tmp.next=new Node(data(i)) tmp=tmp.next } } } class Node(var value:Int){ var next:Node=null def this(value:Int,nextNode:Node){ this(value) this.next=nextNode } } def printLastKNodes(){ var prev=this.root var current=this.root.next var next=this.root.next.next prev.next=null current.next=prev while(next.next!=null){ prev=current current=next next=next.next current.next=prev } next.next=current this.root=next for(i<-0 until k){ print(this.root.value+",") this.root=this.root.next } }}object MicrosSoft013 { def main(args: Array[String]): Unit = { val data=List(1,2,3,4,5,6,7,8,9) val list=new SimpleList(data,4) list.printLastKNodes() } }
0 0
- 微软100题13题(输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针)
- 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- 输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0个结点为链表的尾指针。
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- 13.输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表 的尾指针
- 输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第0 个结点为链表的尾指针。
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 第13题: 题目:输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。
- 微软算法100道题------输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- 11. 微软面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 微软面试100题之13题:输入一个单向链表,输出该链表中倒数第k 个结点
- 面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- 13、输入一个单向链表,输出该链表中倒数第k个结点
- 13 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- Android NDK入门(下)
- 浏览器兼容性:控制intput输入框高度
- OpenCV编程实现LeCun论文(Gradient-Based Learning Applied to Document Recognition)中的CNN
- httpclient设置本机出口IP
- 北京上海的孩子周末最“辛苦”
- 微软100题13题(输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针)
- 笔记
- 数据库设计
- Java JDK最新版本及历史版本的下载流程
- 图像像素
- Dragger2的使用
- 使用Python合并压缩文件(jar)
- ButterKnife 8.4.0
- Apache Mesos发布1.0版本