当前位置:网站首页>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专家编程 第1章 C:穿越时空的迷雾 1.3 标准I/O库和C预处理器
- C语言_typedef和结构体
- Scala practice questions + answers
- 多商户商城系统功能拆解19讲-平台端发票管理
- Spark shuffle调优
- JSD-2204-Knife4j框架-处理响应结果-Day07
- Popular explanation: what is a clinical prediction model
- C专家编程 第1章 C:穿越时空的迷雾 1.2 C语言的早期体验
- 二分法中等 LeetCode6133. 分组的最大数量
- C Pitfalls and Defects Chapter 7 Portability Defects 7.11 An Example of a Portability Problem
猜你喜欢
随机推荐
Spark集群搭建
C专家编程 第1章 C:穿越时空的迷雾 1.2 C语言的早期体验
JS提升:手写发布订阅者模式(小白篇)
Transformer学习
PyQt5 + MySQL5.8 【学生信息管理系统】【增删改查】
【Objective-C中的@synthesize】
Pytest: begin to use
牛血清白蛋白-葡聚糖-叶黄素纳米颗粒/半乳糖白蛋白磁性阿霉素纳米粒的制备
Taobao's API to get the list of shipping addresses
牛血清白蛋白刺槐豆胶壳聚糖缓释纳米微球/多西紫杉醇的纳米微球DTX-DHA-BSA-NPs
C语言_枚举类型介绍
NFT的10种实际用途(NFT系统开发)
TP5-NPs负载噻吩类化合物TP5白蛋白纳米粒/阿魏酸钠新糖牛血清蛋白纳米粒
测试的意义并不是能找到全部的缺陷
Port protocol for WEB penetration
Shell编程之条件语句
C陷阱与缺陷 第8章 建议与答案 8.1 建议
在Cesium中实现与CAD的DWG图叠加显示分析
【力扣】字符串相乘
Based on php film and television information website management system acquisition (php graduation design)









