[Lc]22括号生成

题目 题解 1.递归法 class Solution { vector<string> res;//在私有变量定义res在存结果, public: vector<string> generateParenthesis(int n) {//两种方法。1.递归 if(n==0) return res;//特殊情况 generateParenthesisDFS(n, n, "

[Lc]20有效的括号

题目 题解 时间复杂度$O(N)$ 空间复杂度$O(N)$ class Solution { public: bool isValid(string s) {//用栈 //不能挨个比较,因为有可能两个括号是交错的,用栈最合适 stack<char> par

[Lc]14最长公共前缀

题目 题解 1. 遍历法 时间复杂度$O(S)$(最坏情况)。S是所有字符数量。 空间复杂度$O(1)$ class Solution { public: string longestCommonPrefix(vector<string>& strs) {//两种方法。1.遍历法 //这道

Cpp数组初始化问题(待续)

数组 c++数组主要包括静态数组,动态数组,vector 1. 静态数组 未初始化的数组是随机数据,初始化方法有 int arr[1024] = {0}; //全部初始化为0 int arr[1024] = {1}; //

[Lc]67二进制求和

题目 题解 按位相加即可,注意字符串与整型的转换,数字小的填0,注意进位 时间复杂度$O(max{(aLen + bLen)})$ 空间复杂度$O(max{(aLen

[Lc]31下一个排列

题目 题解 这道题不好理解,具体的题解见leetcode和Grandyang class Solution {//这道题不好理解,最好直接记方法 public: void nextPermutation(vector<int>& nums) { int n = nums.size(), i = n-2, j =

[Lc]60第k个排列

题目 题解 这道题直接找规律,比较难自己想通,该解法出自grandyang class Solution { public: string getPermutation(int n, int k) { string res;//定义res保存结果 string nums = "