- 博客(7)
- 收藏
- 关注
原创 剑指 Offer 55 - II. 平衡二叉树
题目描述:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 / \...
2022-05-31 20:12:00
59
原创 力扣第 106 题「 从后序和中序遍历序列构造二叉树」
题目描述代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(
2022-05-28 15:40:35
99
原创 力扣第 105 题「 从前序和中序遍历序列构造二叉树」
题目描述:代码:用unordered_map代替 循环寻找index(每个结点的值都不一样)/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeN
2022-05-28 15:22:54
212
原创 剑指 Offer 58 - I. 翻转单词顺序
问题描述:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。来源:力扣(LeetCode)方法:双指针class Solution {public: string reverseWords(string s) { int n=s.size(); string res; if(n<
2022-05-16 13:08:01
56
原创 剑指 Offer 57. 和为s的两个数字
方法一:二分查找class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> ans; for(int i=0;i<nums.size();i++) { int left=i; int templeft=left; ...
2022-05-16 11:25:32
46
原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
方法1:遍历class Solution {public: vector<int> exchange(vector<int>& nums) { vector<int> first,second; for(int i=0;i<nums.size();i++) { if(nums[i]%2==1) first.push_back(nums[i]);
2022-05-15 21:23:10
60
原创 剑指 Offer 52. 两个链表的第一个公共节点
题目描述:这里的1不是公共节点,只是链表的val一样方法1:哈希表使用C++STL:unordered_map/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: .
2022-05-15 20:33:25
217
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人