当前位置:网站首页>365天挑战LeetCode1000题——Day 046 生成每种字符都是奇数个的字符串 + 两数相加 + 有效的括号
365天挑战LeetCode1000题——Day 046 生成每种字符都是奇数个的字符串 + 两数相加 + 有效的括号
2022-08-01 21:26: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;
}
};
边栏推荐
- C Pitfalls and Defects Chapter 7 Portability Defects 7.6 Memory Location 0
- Image fusion GANMcC study notes
- 二分法中等 LeetCode6133. 分组的最大数量
- How to make the timer not execute when the page is minimized?
- 【Objective-C中的@synthesize】
- JSD-2204-Knife4j框架-处理响应结果-Day07
- WEB 渗透之文件类操作
- Realize the superposition display analysis of DWG drawing with CAD in Cesium
- 位运算简介
- Classification interface, Taobao classification details API
猜你喜欢
随机推荐
C pitfalls and pitfalls Chapter 7. Portability pitfalls 7.10 Free first, then realloc
JVM内存结构详解
C陷阱与缺陷 第7章 可移植性缺陷 7.9 大小写转换
图的邻接矩阵存储
HCIP---企业网的架构
NFT的10种实际用途(NFT系统开发)
ORI-GB-NP半乳糖介导冬凌草甲素/姜黄素牛血清白蛋白纳米粒的研究制备方法
shell脚本
左旋氧氟沙星/载纳米雄黄磁性/As2O3磁性Fe3O4/三氧化二砷白蛋白纳米球
包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备
Unity Shader 常规光照模型代码整理
分类接口,淘宝分类详情 API
How to encapsulate the cookie/localStorage sessionStorage hook?
正则表达式
C pitfalls and pitfalls Chapter 8 Suggestions and answers 8.2 Answers
C专家编程 第1章 C:穿越时空的迷雾 1.1 C语言的史前阶段
基于php动漫周边商城管理系统(php毕业设计)
C陷阱与缺陷 第8章 建议与答案 8.1 建议
JS提升:手写发布订阅者模式(小白篇)
C expert programming