本文主要是介绍C++ 重建二叉树(递归方法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* };*/
#include <vector>
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param preOrder int整型vector* @param vinOrder int整型vector* @return TreeNode类*/TreeNode* reConstructBinaryTree(vector<int>& preOrder, vector<int>& vinOrder) {// write code hereint n = preOrder.size();if (!n) {return nullptr;} else if (n == 1) {return new TreeNode(preOrder[0]);}auto root = new TreeNode( preOrder[0]);for (int i = 0; i < vinOrder.size(); i++) {if (preOrder[0] == vinOrder[i]) {std::vector<int> leftPreOrder(preOrder.begin() +
这篇关于C++ 重建二叉树(递归方法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!