- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 Leetcode257. 二叉树的所有路径--深度优先搜索
递归class Solution {public: vector<string> paths; void construct_paths(TreeNode* root, string path, vector<string>& paths) { if (root != nullptr) { path += to_string(root->val); if (root->left .
2020-12-31 12:00:46 59
原创 Leetcode113. 路径总和 II、剑指 Offer 34. 二叉树中和为某一值的路径--深度优先搜索
/** * 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: vector<vector<int>>.
2020-12-31 11:41:42 62
原创 Leetcode78. 子集--回溯算法
#include<iostream>#include<vector>using namespace std;class Solution {private: vector<vector<int>> result; vector<int> path; void backtracking(vector<int>& nums, int startIndex) { result.pu.
2020-12-31 11:08:17 78
原创 Leetcode131. 分割回文串--回溯算法
是分割字符串,不是随机组合#include<iostream>#include<vector>#include<string>using namespace std;//分割字符串,不是组合class Solution {private: vector<vector<string>> result; vector<string> path; // 放已经回文的子串 void backtrac..
2020-12-31 10:05:29 72
原创 Leetcode剑指offer38. 字符串的排列--回溯算法
#include<iostream>#include<vector>#include<string>#include <algorithm> using namespace std;class Solution {public: vector<string> ans; string temp; void backtrack(string& s, vector<bool>& use.
2020-12-30 21:17:22 50
原创 Leetcode47. 全排列 II
#include<iostream>#include<vector>#include <algorithm> using namespace std;class Solution {public: vector<vector<int>> ans; vector<int> temp; void backtrack(vector<int>& nums, vector<bool.
2020-12-30 16:07:59 52
原创 Leetcode46. 全排列--回溯算法
#include<iostream>#include<vector>using namespace std;class Solution {public: vector<vector<int>> ans; vector<int> temp; void backtrack(vector<int>& nums, vector<bool>& used){ if .
2020-12-30 15:16:42 76
原创 Leetcode77. 组合--回溯算法
回溯模板void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递归 回溯,撤销处理结果 }}#include<iostream>#include<vector>using .
2020-12-30 11:58:27 74
原创 Leetcode20. 有效的括号
class Solution {public: bool isValid(string s) { int n = s.size(); if (n%2==1){ return false; } unordered_map<char, char> mymap={{')', '('}, {'}', '{'}, {']', '['}}; stack<char> st; .
2020-12-29 19:50:43 110
原创 Leetcode17. 电话号码的字母组合--深度优先搜索,回溯算法,递归
#include<iostream>#include<vector>#include<string>#include <unordered_map>using namespace std;class Solution {public: vector<string> letterCombinations(string digits) { vector<string> combinations; .
2020-12-29 18:55:45 84
原创 Leetcode242. 有效的字母异位词
class Solution {public: bool isAnagram(string s, string t) { sort(s.begin(), s.end()); sort(t.begin(), t.end()); string a=s; string b=t; return a==b; }};
2020-12-29 11:44:15 57
原创 Leetcode49. 字母异位词分组
由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。\class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string, vector<string>> mp; .
2020-12-29 11:27:28 64
原创 Leetcode6. Z 字形变换
思路:按照与逐行读取 Z 字形图案相同的顺序访问字符串。首先访问 行 0 中的所有字符,接着访问 行 1,然后 行 2,依此类推…对于所有整数 k,行 0 中的字符位于索引k(2⋅numRows−2)k(2 \cdot \text{numRows} - 2)k(2⋅numRows−2) 处;行 numRows−1numRows−1numRows−1 中的字符位于索引 k(2⋅numRows−2)+numRows−1k(2⋅numRows−2)+numRows−1k(2⋅numRows−2)+.
2020-12-29 10:47:47 57
原创 Python中的*args和**kwargs
*args和 **kwargs一般用在函数定义的时候。二者允许函数接受可变参数,其中,*args是可变的positional arguments列表,**kwargs 是可变的keyword arguments列表。并且,*args必须位于 **kwargs之前,因为positional arguments必须位于keyword arguments之前。*argsdef test_var_args(f_arg, *argv): print("first normal arg:", f_arg)
2020-12-18 15:15:38 52
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人