1.LeetCode中二叉树的结构
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
以上是Leetcode中二叉树的结构,然而在题目通常会这样给出
那么从输入一个一维数组如何转变成对应的二叉树结构呢,下面给出源码。
2.从一维数组到对应的二叉树结构
#include<iostream>
#include<vector>
#include<string>
#include<queue>
using namespace std;
#define null 65535
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) { //结构体的构造函数
val = x;
left = NULL;
right = NULL;
}
};
TreeNode* CreateTree(vector<int>Data) {
vector<string>str_data(Data.size(), "");
for (int i = 0; i < Data.size(); i++) {
if (Data[i] != null)
str_data[i]