一个小的python3.5+库使调试LeetCode二叉树、链表和矩阵问题更加方便。

leetnode的Python项目详细描述


行波管

一个小的python3.5+库使调试LeetCode二叉树、链表和矩阵问题更加方便。在

二叉树

from leetnode import TreeNode, build_btree

创建二叉树节点

btree_node = TreeNode('val')

从列表创建二叉树

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

或者

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

或者,从JSON字符串

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

打印二叉树的列表表示

>>> 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]

打印二叉树的树表示

^{pr2}$

链接列表

from leetnode import ListNode, build_linked_list

创建链接列表节点

list_node = ListNode('val')

从列表创建链接列表

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

或者

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

或者,从JSON字符串

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

打印链接列表

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

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

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

迭代链接列表

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

矩阵

打印矩阵

>>> 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'   ] ]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaEJB3.0托管bean注入和db连接关闭   amazon web服务用Java连接AWS aerospike实例   java如何使用Springsecurity以编程方式登录用户?   Spring批处理代理失败。lang.ClassCastException:com。太阳代理$Proxy20无法强制转换为   java并发中的条件语句与信号量   java如何使用springdatajpa mongoRepository进行查询和更新?   java将代码从bufferedreader转换为scanner   java SonarQube问题:重命名此常量名称以匹配正则表达式“^[AZ][AZ09]([AZ09]+)$”   带有包含嵌套对象的json主体的java POST请求   java类akka。男演员TypedActor$MethodCall无法访问修饰符为“public abstract”的类JobManager的成员   Android Studio Assistant中的java Firebase,异常错误   javagwt。GWT开发模式控制台中未显示日志   java JAXWS wsimport正在停止重新编译   java以编程方式分析jar文件