Provide fast way to create and print for ListNode & TreeNode on the LeetCode. 😊
If you want to test your Algorithms without the LeetCode,try these Code.
public class ListNode {
public var val: Int
public var next: ListNode?
public init(_ val: Int) {
self.val = val
self.next = nil
}
}
Example
\\create ,return the head ListNode
var newList = createListNode([1,2,3,4,5,6])
\\print ,return the string
var str = printListNode(newList) \\" 1 2 3 4 5 6"
public class TreeNode {
public var val: Int
public var left: TreeNode?
public var right: TreeNode?
public init(_ val: Int) {
self.val = val
self.left = nil
self.right = nil
}
}
In LeetCode, null means pass the leaf, in this Utils, i use 'nil' to represent a empty leaf.
Using The same order on the LeetCode.
\\create. init with a [Int?] array.
var newTreeNode = createTreeNode([3,1,nil,1,nil,3,nil,4])
\\print
var treeStr = printTree(newTreeNode!) \\ " 3 1 null 1 null 4"
If there is any problems or some better solutaion, pls give me a issue.