8000 refactored C style to C++ style · helloyokoy/leetcode@aaa7dae · GitHub
[go: up one dir, main page]

Skip to content
Sign in

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
8000

Commit aaa7dae

Browse files
committed
refactored C style to C++ style
1 parent fbb284a commit aaa7dae

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

C++/chapTree.tex

+14-19
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,11 @@ \subsubsection{栈}
5656
public:
5757
vector<int> preorderTraversal(TreeNode *root) {
5858
vector<int> result;
59-
const TreeNode *p;
6059
stack<const TreeNode *> s;
61-
62-
p = root;
63-
if (p != nullptr) s.push(p);
60+
if (root != nullptr) s.push(root);
6461

6562
while (!s.empty()) {
66-
p = s.top();
63+
const TreeNode *p = s.top();
6764
s.pop();
6865
result.push_back(p->val);
6966

@@ -84,9 +81,8 @@ \subsubsection{Morris先序遍历}
8481
public:
8582
vector<int> preorderTraversal(TreeNode *root) {
8683
vector<int> result;
87-
TreeNode *cur, *prev;
84+
TreeNode *cur = root, *prev = nullptr;
8885

89-
cur = root;
9086
while (cur != nullptr) {
9187
if (cur->left == nullptr) {
9288
result.push_back(cur->val);
@@ -157,8 +153,8 @@ \subsubsection{栈}
157153
public:
158154
vector<int> inorderTraversal(TreeNode *root) {
159155
vector<int> result;
160-
const TreeNode *p = root;
161156
stack<const TreeNode *> s;
157+
const TreeNode *p = root;
162158

163159
while (!s.empty() || p != nullptr) {
164160
if (p != nullptr) {
@@ -185,9 +181,8 @@ \subsubsection{Morris中序遍历}
185181
public:
186182
vector<int> inorderTraversal(TreeNode *root) {
187183
vector<int> result;
188-
TreeNode *cur, *prev;
184+
TreeNode *cur = root, *prev = nullptr;
189185

190-
cur = root;
191186
while (cur != nullptr) {
192187
if (cur->left == nullptr) {
193188
result.push_back(cur->val);
@@ -258,11 +253,9 @@ \subsubsection{栈}
258253
public:
259254
vector<int> postorderTraversal(TreeNode *root) {
260255
vector<int> result;
261-
/* p,正在访问的结点,q,刚刚访问过的结点*/
262-
const TreeNode *p, *q;
263256
stack<const TreeNode *> s;
264-
265-
p = root;
257+
/* p,正在访问的结点,q,刚刚访问过的结点*/
258+
const TreeNode *p = root, *q = nullptr;
266259

267260
do {
268261
while (p != nullptr) { /* 往左下走*/
@@ -438,13 +431,16 @@ \subsubsection{迭代版}
438431
public:
439432
vector<vector<int> > levelOrder(TreeNode *root) {
440433
vector<vector<int> > result;
441-
if(root == nullptr) return result;
442-
443434
queue<TreeNode*> current, next;
444-
vector<int> level; // elments in level level
435+
436+
if(root == nullptr) {
437+
return result;
438+
} else {
439+
current.push(root);
440+
}
445441

446-
current.push(root);
447442
while (!current.empty()) {
443+
vector<int> level; // elments in one level
448444
while (!current.empty()) {
449445
TreeNode* node = current.front();
450446
current.pop();
@@ -453,7 +449,6 @@ \subsubsection{迭代版}
453449
if (node->right != nullptr) next.push(node->right);
454450
}
455451
result.push_back(level);
456-
level.clear();
457452
swap(next, current);
458453
}
459454
return result;

0 commit comments

Comments
 (0)
0