leetcode_py convert between LeetCode’s
array format and live objects, and render themselves so you can look at
what your code is doing.
Array format, live objects
TreeNode.find_node(value)returns the first node with that value.GraphNode.is_clone(other)checks deep equality between a graph and its copy, the shape clone-graph problems ask for.- All three are generic:
TreeNode[int],ListNode[str], and so on. from leetcode_py.data_structures import DictTreegives a dict-backed tree that renders with box-drawing characters in the terminal and Graphviz in Jupyter, which suits Trie implementations.
In Jupyter: diagrams
As the last expression of a cell, these objects render as Graphviz SVG diagrams.TreeNode lays out top-to-bottom; ListNode goes left-to-right
with rounded boxes. A cyclic list draws the back-edge in red, dashed, and
labeled cycle.


In the terminal: ASCII
print() falls back to clean text: an indented tree, an arrow chain for
lists (cycles shown as ... (cycle back to 2)), and a formatted adjacency
dict for graphs.

