当前位置:网站首页>365 days challenge LeetCode1000 questions - Day 046 Generate a string with odd number of each character + add two numbers + valid parentheses
365 days challenge LeetCode1000 questions - Day 046 Generate a string with odd number of each character + add two numbers + valid parentheses
2022-08-01 21:35:00 【ShowM3TheCode】
1374. 生成每种字符都是奇数个的字符串
代码实现(首刷自解)
class Solution {
public:
string generateTheString(int n) {
string ans = "";
if (n % 2 == 0) {
ans = "z";
for (int i = 0; i < n - 1; i++) {
ans.append("a");
}
}
else {
for (int i = 0; i < n; i++) {
ans.append("a");
}
}
return ans;
}
};
2. 两数相加
代码实现(首刷自解)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
int flag = 0;
ListNode* pl1 = l1, *pl2 = l2;
ListNode* ans = new ListNode();
ListNode* curNode = ans;
int curVal = 0;
while (pl1 && pl2) {
curVal = pl1->val + pl2->val + flag;
ListNode* tmp = new ListNode(curVal % 10);
curNode->next = tmp;
curNode = tmp;
flag = 0;
if (curVal >= 10) flag = 1;
pl1 = pl1->next;
pl2 = pl2->next;
}
while (pl1) {
curVal = pl1->val + flag;
ListNode* tmp = new ListNode(curVal % 10);
curNode->next = tmp;
curNode = tmp;
flag = 0;
if (curVal >= 10) flag = 1;
pl1 = pl1->next;
}
while (pl2) {
curVal = pl2->val + flag;
ListNode* tmp = new ListNode(curVal % 10);
curNode->next = tmp;
curNode = tmp;
flag = 0;
if (curVal >= 10) flag = 1;
pl2 = pl2->next;
}
if (flag) {
ListNode* tmp = new ListNode(1);
curNode->next = tmp;
}
return ans->next;
}
};
20. 有效的括号
代码实现(自解)
class Solution {
private:
bool match(char l, char r) {
if (l == '(') return r == ')';
if (l == '{') return r == '}';
if (l == '[') return r == ']';
return false;
}
public:
bool isValid(string s) {
set<char> left = {
'(', '{', '[' };
set<char> right = {
')', '}', ']'};
stack<char> _stack;
for (char c : s) {
if (left.count(c)) {
_stack.push(c);
}
else {
if (_stack.empty()) return false;
if (match(_stack.top(), c)) _stack.pop();
else return false;
}
}
if (!_stack.empty()) return false;
return true;
}
};
边栏推荐
猜你喜欢
随机推荐
基于php酒店在线预定管理系统获取(php毕业设计)
Spark练习题+答案
测试开发人均年薪30w+?软件测试工程师如何进阶拿到高薪?
Review Set/Map basics with these two hooks
左旋氧氟沙星/载纳米雄黄磁性/As2O3磁性Fe3O4/三氧化二砷白蛋白纳米球
用户量大,Redis没法缓存响应,数据库宕机?如何排查解决?
二分法中等 LeetCode6133. 分组的最大数量
【Objective-C中的@synthesize】
C专家编程 序
牛血清白蛋白刺槐豆胶壳聚糖缓释纳米微球/多西紫杉醇的纳米微球DTX-DHA-BSA-NPs
C语言_联合体共用体引入
C Pitfalls and Defects Chapter 7 Portability Defects 7.9 Case Conversion
with语句和上下文管理器
Appendix A printf, varargs and stdarg A.3 stdarg.h ANSI version of varargs.h
Realize the superposition display analysis of DWG drawing with CAD in Cesium
基于php湘西旅游网站管理系统获取(php毕业设计)
P7215 [JOISC2020] 首都 题解
树莓派的信息显示小屏幕,显示时间、IP地址、CPU信息、内存信息(c语言),四线的i2c通信,0.96寸oled屏幕
位运算简介
The difference between groupByKey and reduceBykey