Hexo设置近期文章
设置近期文章
设置近期文章
在mac
上用clang++
或者g++
编译c++11
的文件时,老是报错或警告.
c++11
使用auto
来做自动类型推导,编译器会在编译期间自动推导出变量的类型。
nvim
常用快捷键
实现一个二叉搜索树迭代器类BSTIterator
,表示一个按中序遍历二叉搜索树(BST
)的迭代器:
BSTIterator(TreeNode root)
初始化
BSTIterator
类的一个对象。BST
的根节点
root
会作为构造函数的一部分给出。指针应初始化为一个不存在于
BST
中的数字,且该数字小于 BST 中的任何元素。
boolean hasNext()
如果向指针右侧遍历存在数字,则返回
true
;否则返回 false
。
int next()
将指针向右移动,然后返回指针处的数字。
注意,指针初始化为一个不存在于
BST
中的数字,所以对next()
的首次调用将返回
BST
中的最小元素。
你可以假设 next()
调用总是有效的,也就是说,当调用next()
时,BST
的中序遍历中至少存在一个下一个数字。
给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字:
例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和 。
叶节点 是指没有子节点的节点。
有两个文件p1.c
和p2.c
,我们用Unix
命令编译这些代码
1 | gcc -Og -o p p1.c p2.c |
gcc
:指GCC
C编译器
-Og
:告诉编译器使用生成符合原始C语言整体结构的机器代码的优化等级,使用-O1,-O2
会导致产出的机器代码变形,难以理解。
gcc
命令调用了一整套的程序,将源代码转化成可执行代码。
首先,C预处理器扩展源代码,插入所有用#include
命令指定的文件,并扩展所有用#define
声明指定的宏。
其次,编译器产出两个源文件的汇编代码,名字为p1.s
和p2.s
接下来汇编器会将汇编代码转化成二进制目标文件p1.o
和p2.o
给定一个二叉树
1 | struct Node { |
填充它的每个
next
指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将
next
指针设置为 NULL
。
初始状态下,所有 next
指针都被设置为
NULL
。