剑指offer——54. 二叉查找树的第 K 个结点 发表于 2020-02-15 | 分类于 算法 , 剑指offer | 字数统计: 136 | 阅读时长 ≈ 1 剑指offer刷题 54. 二叉查找树的第 K 个结点NowCoder 解题思路利用二叉查找树中序遍历有序的特点。 1234567891011121314151617181920212223242526272829303132333435363738394041424344/*中序遍历;**//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: Solution() { node = nullptr; _k = 0; } TreeNode* kthNode(TreeNode* root, int k) { if(!root) return nullptr; _k = k; kthNode(root); return node; } void kthNode(TreeNode* root) { if(!root) return; if(root->left) kthNode(root->left, _k); _k --; if(_k == 0) { node = root; return; } if(root->right) kthNode(root->right, _k); }private: int _k; TreeNode *node; }; 创作不易,欢迎打赏! 打赏 微信支付 支付宝 -------------本文结束感谢您的阅读-------------