本文共 683 字,大约阅读时间需要 2 分钟。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution { public: //中序遍历的结果就是有序序列,第K个元素就是vec[K-1]存储的节点指针; TreeNode* KthNode(TreeNode* pRoot, int k) { if(pRoot==NULL||k<=0) return NULL; vectorvec; Inorder(pRoot,vec); if(k>vec.size()) return NULL; return vec[k-1]; } //中序遍历,将节点依次压入vector中 void Inorder(TreeNode* pRoot,vector & vec) { if(pRoot==NULL) return; Inorder(pRoot->left,vec); vec.push_back(pRoot); Inorder(pRoot->right,vec); } };
转载地址:http://unklf.baihongyu.com/