Advertisement
Alexxik

Untitled

Sep 13th, 2023 (edited)
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.75 KB | None | 0 0
  1. // MARK: - 206. Reverse Linked List
  2.  
  3. func reverseList(_ head: ListNode?) -> ListNode? {
  4.    
  5.     var curr = head
  6.     var prev: ListNode?
  7.    
  8.     while curr != nil {
  9.         let next = curr?.next       // сохранить следующий
  10.         curr?.next = prev       // развернуть ссылку на предидущий
  11.         prev = curr             // текущий сделать предидущим (для следующей итериции)
  12.         curr = next             // скакануть на следующий элемент
  13.     }
  14.     return prev
  15. }
  16.  
  17. let node6 = ListNode(6, nil)
  18. let node5 = ListNode(5, node6)
  19. let node4 = ListNode(4, node5)
  20. let head = ListNode(3, node4)
  21.  
  22.  
  23. printNodes(head)
  24. let rev = reverseList(head)
  25. printNodes(rev!)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement