ps做旅游网站,wordpress博客优秀,唐山市城市建设规划局网站,c#网站开发+pdf题解#xff1a;
递归书写三要素#xff1a;
1#xff09;确定递归函数的参数和返回值。要确定每次递归所要用到的参数以及需要返回的值
2#xff09;确定终止条件。操作系统也是用栈的方式实现递归#xff0c;那么如果不写终止条件或者终止条件写的不对#xff0c;都…
题解
递归书写三要素
1确定递归函数的参数和返回值。要确定每次递归所要用到的参数以及需要返回的值
2确定终止条件。操作系统也是用栈的方式实现递归那么如果不写终止条件或者终止条件写的不对都会导致出现栈溢出的情况。
3确定单层递归逻辑后再开始递归。
此题目中因为要打印遍历后的节点值所以递归函数需要传入vector来存放节点值也不需要返回值。终止条件就是当传入节点为NULL时单层逻辑是将传入的节点的值记录下来。 代码如下
class Solution {
public:void Traversal(TreeNode* cur, vectorint vec){if(NULL cur) return;vec.push_back(cur-val);Traversal(cur-left,vec); Traversal(cur-right,vec); }vectorint preorderTraversal(TreeNode* root) {vectorint result;Traversal(root, result);return result;}
};
注意
1vector容器的使用放入元素vec.push_back()
2注意传递的参数设置要修改哪些参数就要传入哪些参数。