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:指GCCC编译器
-Og:告诉编译器使用生成符合原始C语言整体结构的机器代码的优化等级,使用-O1,-O2会导致产出的机器代码变形,难以理解。
gcc命令调用了一整套的程序,将源代码转化成可执行代码。
首先,C预处理器扩展源代码,插入所有用#include命令指定的文件,并扩展所有用#define声明指定的宏。
其次,编译器产出两个源文件的汇编代码,名字为p1.s和p2.s
接下来汇编器会将汇编代码转化成二进制目标文件p1.o和p2.o
给定一个二叉树
1 | struct Node { |
填充它的每个
next指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将
next指针设置为 NULL。
初始状态下,所有 next指针都被设置为
NULL。