输入个链表的头结点,从尾到头反过来打印出每个结点的值,如果正序输出非常简单,倒序也很简单,就是正序输出的时候用数组存储一下,打印数组即可,不过有一种更简单的方法,就是递归一下,代码如下:
func reverseListNode(node:ListNode?) -> Void {
if (node != nil) {
if ((node?.next) != nil) {
reverseListNode(node?.next!)
}
if let nodeValue = node?.value! {
print("FlyElephant:\(nodeValue)")
}
}
}
class ListNode: NSObject {
var value:NSInteger?
var next:ListNode?
}
测试代码:
var node1=ListNode()
node1.value=10
var node2=ListNode()
node2.value=20
node1.next=node2
var node3=ListNode()
node3.value=30
node2.next=node3
var node4 = ListNode()
node4.value=40
node3.next=node4
var node5 = ListNode()
node5.value=50
node4.next=node5
reverseListNode(node1)