mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +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
 | 
						|
    }
 | 
						|
}
 |