赞
踩
1.递归的一种特殊形式
2.调用自身后无其他操作
3.tailrec关键字提示编译器尾递归优化
- data class ListNode(val value: Int, var next: ListNode?=null)
-
- /**
- * 查找头结点,每个节点都有一个value 如果查到就返回,查不到就是NULL
- */
- tailrec fun findListNode(head: ListNode?, value: Int): ListNode? {
- head ?: return null
- if (head.value == value) return head
- return findListNode(head.next, value)
- }
-
- fun main(args: Array<String>) {
- val MAX_NODE_COUNT=10000
- val head = ListNode(0)
- var p = head
- for (i in 1..MAX_NODE_COUNT){
- p.next = ListNode(i)
- p=p.next!!
- }
- println(findListNode(head,MAX_NODE_COUNT-2)?.value)
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。