mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-10-31 18:37:48 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			867 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			867 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
| /**
 | |
|  * File: ListNode.swift
 | |
|  * Created Time: 2023-01-02
 | |
|  * Author: nuomi1 (nuomi1@qq.com)
 | |
|  */
 | |
| 
 | |
| public class ListNode: Hashable {
 | |
|     public var val: Int // 节点值
 | |
|     public var next: ListNode? // 后继节点引用
 | |
| 
 | |
|     public init(x: Int) {
 | |
|         val = x
 | |
|     }
 | |
| 
 | |
|     public static func == (lhs: ListNode, rhs: ListNode) -> Bool {
 | |
|         lhs.val == rhs.val && lhs.next.map { ObjectIdentifier($0) } == rhs.next.map { ObjectIdentifier($0) }
 | |
|     }
 | |
| 
 | |
|     public func hash(into hasher: inout Hasher) {
 | |
|         hasher.combine(val)
 | |
|         hasher.combine(next.map { ObjectIdentifier($0) })
 | |
|     }
 | |
| 
 | |
|     public static func arrToLinkedList(arr: [Int]) -> ListNode? {
 | |
|         let dum = ListNode(x: 0)
 | |
|         var head: ListNode? = dum
 | |
|         for val in arr {
 | |
|             head?.next = ListNode(x: val)
 | |
|             head = head?.next
 | |
|         }
 | |
|         return dum.next
 | |
|     }
 | |
| }
 | 
