Socket
Socket
Sign inDemoInstall

leetnode

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

leetnode

A small Python 3.5+ library to make debugging LeetCode binary tree, linked list and matrix problems more convenient.


Maintainers
1

LeetNode

A small Python 3.5+ library to make debugging LeetCode binary tree, linked list and matrix problems more convenient.

Binary Trees

from leetnode import TreeNode, build_btree

Creating a binary tree node

btree_node = TreeNode('val')

Creating a binary tree from a list

btree1 = build_btree([3, 9, 20, 8, 16, 15, 7, 1, 2, None, None, 3, None, None, None, None, None, 12])

or

btree2 = TreeNode.from_list(['a', 'b', 'cd', None, 'ef', 'gh', 'i', None, None, None, None, 'jkl', 'mn', 'o'])

or, from a JSON string

btree3 = TreeNode.from_list('[1, null, 555555, null, 43, 1]')

Printing a list representation of a binary tree

>>> print(btree1)
[3, 9, 20, 8, 16, 15, 7, 1, 2, None, None, 3, None, None, None, None, None, 12]

>>> print(btree2)
['a', 'b', 'cd', None, 'ef', 'gh', 'i', None, None, None, None, 'jkl', 'mn', 'o']

>>> print(btree3)
[1, None, 555555, None, 43, 1]

Printing a tree representation of a binary tree

>>> print(btree1.tree_string())
           ___3_____
          /         \
    _____9          _20
   /      \        /   \
  8___     16     15    7
 /    \          /
1     _2        3
     /
    12

>>> print(btree2.tree_string())
   ______'a'______
  /               \
'b'_            __'cd'___________
    \          /                 \
    'ef'     'gh'              __'i'_
                              /      \
                          _'jkl'     'mn'
                         /
                       'o'

>>> print(btree3.tree_string())
1__
   \
  555555__
          \
           43
          /
         1

Linked Lists

from leetnode import ListNode, build_linked_list

Creating a linked list node

list_node = ListNode('val')

Creating a linked list from a list

llist1 = build_linked_list(['a', 'b', 'c', 'd'])

or

llist2 = ListNode.from_list([1, 2, 3, 4, 5])

or, from a JSON string

llist3 = ListNode.from_list('["e", "f", "g", "h"]')

Printing a linked list

>>> print(llist1)
['a' -> 'b' -> 'c' -> 'd']

>>> print(llist2)
[1 -> 2 -> 3 -> 4 -> 5]

>>> print(llist3)
['e' -> 'f' -> 'g' -> 'h']

Iterating over a linked list

>>> for node in llist1:
...     print(node.val + node.next.val if node.next is not None else node.val)
...
ab
bc
cd
d

Matrices

Printing a matrix

>>> mat1 = [[1.2, 2.33, 3.0], [4.5, 6.7777, 8], [9.0, 10.98, 111.42]]
>>> mat2 = [[3, 0, 8, 4], [2, 2340, 5, 7], [97, 432, 6, 3], [0, 3, 1, 13]]
>>> mat3 = mat3 = '[["a", "b", "ccc"], ["dd", "e", "ff"], ["g", "h", "i"]]'

>>> print(matrix_to_string(mat1))
[ [ 1.2   , 2.33  , 3.0    ],
  [ 4.5   , 6.7777, 8      ],
  [ 9.0   , 10.98 , 111.42 ] ]

>>> print(matrix_to_string(mat2))
[ [    3,    0,    8,    4 ],
  [    2, 2340,    5,    7 ],
  [   97,  432,    6,    3 ],
  [    0,    3,    1,   13 ] ]

>>> print(matrix_to_string(mat3))
[ [ 'a'  , 'b'  , 'ccc' ],
  [ 'dd' , 'e'  , 'ff'  ],
  [ 'g'  , 'h'  , 'i'   ] ]

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc