- 博客(15)
- 收藏
- 关注
原创 leetcode之Minimum Depth of Binary Tree
这题用的是广度抖索的方法。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solut
2015-12-30 18:14:00 235
原创 leetcode之Binary Tree Paths
还是采用的将根到叶全列出来的方法来做的。一个思路可以做4道题。。。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right
2015-12-30 10:46:23 326
原创 leetcode之Sum Root to Leaf Numbers
跟path sum系列用同一种思路,将所有的跟到叶提取出来,再组合成为一个数字,进行相加。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None#
2015-12-30 10:34:58 277
原创 leetcode之Path Sum
采用的策略跟path sum ii的是一样的,额,毕竟先做出来的是ii,然后返回来做1.都是先把所有的根到叶的路径列出来,最后再来计算。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# se
2015-12-30 10:20:19 274
原创 leetcode之Path Sum II
相关的几道题我想用同一种方法做出来,就是把所有的根到叶的路径全部打出来,形成一个list。然后再对list进行操作。不见得最快,但是最好想。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x#
2015-12-29 20:31:41 225
原创 leetcode之Pascal's Triangle II
这题顺着Pascal's Triangle I的思路来很快,去掉1的输出结果,直接提取中间的结果就可以了。代码如下:class Solution(object): def getRow(self, rowIndex): """ :type rowIndex: int :rtype: List[int] """
2015-12-23 20:16:41 259
原创 leetcode之Pascal's Triangle
题目是简单的,就是将前后2个数加起来构成了中间的数字,最后2边加上2个1就可以了。代码如下:class Solution(object): def generate(self, numRows): """ :type numRows: int :rtype: List[List[int]] """ if n
2015-12-23 20:03:50 237
原创 leetcode之Balanced Binary Tree
这题是判断是否是一个平衡树。我做的方法应该是能出来结果的最慢的了。多算了好多次高度,方向应该是自下而上,而我是自上而下,所以时间上耗费太多。回头再考虑改进下。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x#
2015-12-15 17:30:52 276
原创 leetcode之Binary Tree Zigzag Level Order Traversal
这题就是在之前的基础上加个奇偶数的判断开关。不难。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = None
2015-12-13 12:43:33 210
原创 leetcode之Binary Tree Right Side View
上次的广度搜索优先的题目做完之后,看了下别人的代码,发现写的非常不错。这次就自己变化了一点用在了新题上,代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None#
2015-12-13 12:32:36 226
原创 leetcode之Binary Tree Level Order Traversal II
这题跟I的区别仅仅是结果是倒序的。所以偷懒最后返回的结果用的倒序。。。# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right =
2015-12-10 01:03:02 280
原创 leetcode之Binary Tree Level Order Traversal
这题就是一个广度搜索的题。需要一个队列来盛放相应层数上的所有字节点。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.righ
2015-12-10 00:58:33 215
原创 leetcode之Symmetric Tree
这题判断一棵树是否是对称的。我用的是中序和后序2次来看结果。代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right
2015-12-03 01:38:24 217
原创 leetcode之Reverse Linked List
我采用的是每次迭代一个元素,然后一次拼接形成了 一个新的链表。# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object):
2015-12-01 17:49:28 233
原创 leetcode之Palindrome Linked List
这道题一开始想到的比较简单。但是follow up的比较难,暂时没有想出来如何出现O(1)的space。代码如下:# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = None
2015-12-01 15:29:16 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人