代码随想录算法训练营day14|二叉树的遍历

  •  理论基础
  •  递归遍历  
  •  迭代遍历
  •  统一迭代

 理论基础 

需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义 

文章讲解:代码随想录

 递归遍历 (必须掌握)

二叉树的三种递归遍历掌握其规律后,其实很简单 

题目链接/文章讲解/视频讲解:代码随想录

 迭代遍历 (基础不好的录友,迭代法可以放过)

题目链接/文章讲解/视频讲解:代码随想录

 统一迭代   (基础不好的录友,迭代法可以放过)

这是统一迭代法的写法, 如果学有余力,可以掌握一下

题目链接/文章讲解:代码随想录

二叉树节点的构造

struct TreeNode {
	int val;
	TreeNode* left;
	TreeNode* right;
	TreeNode(int x) :val(x),left(NULL),right(NULL){}
};

递归遍历

void traversal(TreeNode* cur, vector<int>& vec) {
	if (cur == NULL) return;

	vec.push_back(cur->val);
	traversal(cur->left, vec);
	traversal(cur->right, vec);
}

接受二叉树遍历结果val

vector<int> preorderTraversal(TreeNode* root) {
	vector<int> result;
	traversal(root, result);
	return result;
}

前/中/后序遍历同理


迭代遍历

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-24 06:38:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-24 06:38:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-24 06:38:01       87 阅读
  4. Python语言-面向对象

    2024-01-24 06:38:01       96 阅读

热门阅读

  1. STL-stack and queue

    2024-01-24 06:38:01       56 阅读
  2. 【issue-halcon例程学习】edge_segments.hdev

    2024-01-24 06:38:01       62 阅读
  3. DPlayer m3u8 视频禁止下载

    2024-01-24 06:38:01       51 阅读
  4. Redis

    Redis

    2024-01-24 06:38:01      43 阅读
  5. 压缩字符串 实现思路及练习题

    2024-01-24 06:38:01       55 阅读