边工作边刷题:70天一遍leetcode: day 2
Populating Next Right Pointers in Each Node I/II
要点:stack在traversal中的作用是回到root,这题只需要2层之间的关联。所以不需要stack来track。这题就归结为通过当前层连接下一层然后再到下一层。所以code pattern是
while root:
while root:
第一个是track下一层的最左结点,第二层是本层链表的顺序访问。
I的连接范围局限在root,所以比较简单(只需要root.left连root.right,然后root.right连root.next的left)。而II因为不确定性,本质就是更新prev和next (初始为null):next用来track头,prev用来track前一个
# Definition for binary tree with next pointer.
# class TreeLinkNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
# self.next = Noneclass Solution(object):def connect(self, root):""":type root: TreeLinkNode:rtype: nothing"""if not root: returnwhile root.left:cur = rootwhile cur:cur.left.next = cur.rightif cur.next:cur.right.next = cur.next.leftcur = cur.nextroot = root.left
转载于:https://www.cnblogs.com/absolute/p/Leetcode.html
边工作边刷题:70天一遍leetcode: day 2相关推荐
- 边工作边刷题:70天一遍leetcode: day 94-1
Largest BST Subtree 要点: http://articles.leetcode.com/largest-binary-search-tree-bst-in 这题重点是理解题意,还有道 ...
- 边工作边刷题:70天一遍leetcode: day 11-2
Gas Station 老题,这种circular的题一般都能转化成单向的.比如这题就是用sumDiff来判断是否有解,而start单向递增. class Solution(object):def c ...
- 边工作边刷题:70天一遍leetcode: day 92
House Robber I/II/III 这题代表了单向线性dp的基本pattern: build local best value at each element and track the gl ...
- 边工作边刷题:70天一遍leetcode: day 98
LRU Cache 这是一道leetcode的难题,这种题往往是算法结构很复杂,涉及一个或多个考点算法和数据结构的组合,同时又有很多corner cases要考虑.所以一定要找到合适memorize的 ...
- 边工作边刷题:70天一遍leetcode: day 97-2
Design Hit Counter 要点:因为是second granularity,所以可以用以秒为单位的circular buffer方法.这题简单在只需要count过去300秒的,增加难度可以 ...
- 边工作边刷题:70天一遍leetcode: day 73
Read N Characters Given Read4 I/II 要点:这题的要点就是搞清楚几个变量的内在逻辑:只有buffer是整4 bytes的.而client要读的bytes(需求)和实际上 ...
- 边工作边刷题:70天一遍leetcode: day 7
Max Points on a Line 要点:这题暴力解是用任何两点确定一条直线,然后对其他点检查是否共线,显然,这里没用空间来存储之前的检查结果,所以time complexity是O(n^3). ...
- 边工作边刷题:70天一遍leetcode: day 67-1
Rectangle Area 要点:基本思路就是先分开算再减去相交部分,这题的难点是如何检查是否相交和如何算出相交部分的面积. 2d转化为1d:x轴和y轴是orthogonal的.可以分开考虑.这样检 ...
- 边工作边刷题:70天一遍leetcode: day 6
Compare Version Numbers 题本身思路简单没什么可说的.值得一提的是corner case:多出来的0和没有是相同版本,这样最简单的处理是直接对没有的补0.这样因为需要补齐,循环是 ...
- 边工作边刷题:70天一遍leetcode: day 11-1
Clone Graph dfs或者bfs都可以做,这题的要点是hashmap有两个作用:一是图遍历中的visited,另一个是存copy的结点来连接neighbors.hashmap即表示visite ...
最新文章
- 计算机语言中索引什么意思,算法索引
- R语言生成对数线性间隔数据序列(Log-linearly Spaced Sequences)
- iphone5登陆不了微信,提示“登录失败,连接失败,请检查网络设置”
- 基本的Socket通信
- 两届诺贝尔文学奖得主将同时公布
- 训练集、测试集loss容易出现的问题总结
- Data Integration Introduction
- 微软、google、IBM的某些招聘试题
- python爬取百度首页源代码并存储到HTML文件里
- linux登录界面鼠标键盘失灵,vmware+centos7+启动在登录界面鼠标键盘都不可用
- ajax 提交间隔,jQuery+Ajax实现限制查询间隔的方法
- 移植mysql到安卓手机_记录dbnet文本检测转ncnn并移植到安卓上
- c语言课程设计 日历显示,c语言课程设计_电子日历.doc
- 使用github制作简历
- 按下鼠标中键跳转新的页面
- LabVIEW之TDMS学习笔记
- 【区块链与密码学】第9-1讲:白话群签名
- Python后台运行 -- nohup python xxx.py
- 生成图片验证码(Pillow)
- 数据采样 22382份,如何才能学好Python并找到工作