作者oin1104 (是oin的說)
標題Re: [閒聊] 每日leetcode
時間2024-07-11 13:21:20
題目:
給你字串
裡面有()跟其他字母
每次遇到()都要翻轉中間所有的東西
然後()就消失
回傳他給的字串翻轉後的結果
思路:
stack
在遇到)之後
就一直把東西拿出來放到另一個rev陣列裡
直到遇到(再把rev的翻轉放回去
思路2:
stack
不過是紀錄index
直接用紀錄的(的位子跟新來的)的位子
用reverse 翻轉那兩個位子
然後pop掉上個位子的(就可以了
兩種都100%
我永遠愛stack姐姐
https://youtu.be/RtTYQuO1j6w?si=WiqCioxWNUvpKNAA
```cpp
class Solution {
public:
string reverseParentheses(string s)
{
vector<char> paper;
vector<char> rev;
int len = s.size();
for(int i = 0 ; i < len ; i ++)
{
paper.push_back(s[i]);
if(paper.back() == ')')
{
paper.pop_back();
while(paper.back()!='(')
{
rev.push_back(paper.back());
paper.pop_back();
}
paper.pop_back();
for(auto k : rev)
{
paper.push_back(k);
}
rev.clear();
}
}
string res ;
for(auto k : paper)res.push_back(k);
return res;
}
};
```
```cpp
class Solution {
public:
string reverseParentheses(string s)
{
vector<int> paper;
string res ;
int len = s.size();
for(int i = 0 ; i < len ; i ++)
{
if(s[i] == '(')
{
paper.push_back(res.size());
continue;
}
if(s[i] == ')')
{
reverse(res.begin()+paper.back() , res.end());
paper.pop_back();
continue;
}
res.push_back(s[i]);
}
return res;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.org.tw), 來自: 61.230.133.184 (臺灣)
※ 文章網址: https://ptt.org.tw/Marginalman/M.1720675282.A.D0D
推 CanIndulgeMe: 技術大神 07/11 13:22
推 Furina: 我好崇拜你 07/11 13:22
噓 ImpotenCat: 大學生卷什麼 快去做愛 07/11 13:23
→ oin1104: 幹你娘 我有愛可以做還會在這裡跟你小雞巴話???? 07/11 13:24
→ oin1104: 我快哭了 我也好想做愛阿 07/11 13:24
→ oin1104: 為什麼暑假了大家都在跟女同學做愛 只剩我在家刷題 07/11 13:25
→ Furina: 誰跟女同學做愛 07/11 13:26
→ oin1104: 你 07/11 13:27
→ HuiXillya: 去找別的系的啊,拜託別捲了 07/11 13:30
推 CanIndulgeMe: 芋園是高材生 07/11 13:30
推 SydLrio: 找弟弟做愛啊 07/11 13:31
→ oin1104: 找不到 07/11 13:32