摘要:
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: TreeNode *buildTree(vector<int> &pre, int preStart, vector<int> &in, int inStart, int len){ if (preStart<0 || preStart+len>pre.size() || 阅读全文
摘要:
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: TreeNode *buildTree(vector<int> &in, int inStart, vector<int> &post, int postStart, int len){ if (inStart<0 || inStart+len>in.size() || 阅读全文
摘要:
#include <iostream>#include <stack>using namespace std;struct Node{ int data; Node *next; Node(int d) : data(d) {}};int label = 0;//思路:设两个指针,left和right,首先将right走到头,交换left和right,然后每return一次,right自动向左一次,left手动向右走一次。void Reverse(Node *&left, Node *right){ if (!left || !right) return;... 阅读全文