107. 二叉树的层序遍历 II
遍历后反转
1 | /** |
遍历后反转
1 | /** |
参考105. Construct Binary Tree from Preorder and Inorder Traversal | Cinte's Leetcode Record
1 | /** |
1 | class Solution { |
改用数组
在栈上分配空间比堆上更加高效
1 | class Solution { |
差分数组,只记录每年的变化数
1 | class Solution { |
我菜炸了
1 | class Solution { |
\[ max(a, b) = (a + b + abs(a - b)) / 2; \]
其中绝对值使用位运算代替,假设a, b为32位,则 \[
abs(a) = ((a >> 31) \^{} a) - (a >> 31)
\] c++中对有符号数的右移是算数右移
当a > 0,a >> 31 = 0x0000,则a >> 31 ^ a就等于a,再减去0x0000还是a
当a < 0,a >> 31 = 0xFFFF,则a >> 31 ^ a就等于~a,由于0 - 0xFFFF = 1 ,所以最后是~a + 1 = -a
1 | class Solution { |
1 | class Solution { |
1 | class Solution { |
类似264. Ugly Number II | Cinte's Leetcode Record
1 | class Solution { |
减少一次计算,用一个数组保存,将当前计算移动到上一轮
1 | class Solution { |
需要知道一个事实
不可能两个同时胜利的,平局的情况只有2个都输
然后每一列的记录,用异或,bang
1 | class Solution { |
1 | class WordsFrequency { |
1 | class WordsFrequency { |
1 | class Solution { |
我是傻逼
1 | class Solution { |