Q1123.h 653 B

12345678910111213141516171819202122232425262728293031323334
  1. //
  2. // Created by 李洋 on 2023/9/6.
  3. //
  4. #ifndef LEECODE_C_Q1123_H
  5. #define LEECODE_C_Q1123_H
  6. #pragma once
  7. #include "../../dataStruct/Tree/TreeStack.h"
  8. std::pair<TreeNode *, int> f(TreeNode *root) {
  9. if (!root) {
  10. return {root, 0};
  11. }
  12. auto left = f(root->left);
  13. auto right = f(root->right);
  14. if (left.second > right.second) {
  15. return {left.first, left.second + 1};
  16. }
  17. if (left.second < right.second) {
  18. return {right.first, right.second + 1};
  19. }
  20. return {root, left.second + 1};
  21. }
  22. struct TreeNode *lcaDeepestLeaves(struct TreeNode *root) {
  23. return f(root).first;
  24. }
  25. #endif //LEECODE_C_Q1123_H
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。