Re: [闲聊] 每日leetcode

楼主: sustainer123 (caster)   2024-04-05 18:04:01
※ 引述《SecondRun (南爹抠打)》之铭言:
: 1544. Make The String Great
: input string假如有相邻的同样字母的大小写,移除这组字母
: 重复这个动作直到没有相邻大小写
: 想法:移除了之后还要检查移除组的左右,用index很麻烦所以用stack
: C# code:
: public class Solution {
: public string MakeGood(string s) {
: if (s.Length <= 1) return s;
: var stack = new Stack<char>();
: foreach (char c in s)
: {
: if (stack.Count != 0 && Math.Abs(c - stack.Peek()) == 32)
: {
: stack.Pop();
: continue;
: }
: stack.Push(c);
: }
: var result = string.Empty;
: while (stack.Count != 0)
: {
: result = stack.Pop() + result;
: }
: return result;
: }
: }
: 我是EASY守门员
思路差不多 stack然后检查
Python Code:
class Solution:
def makeGood(self, s: str) -> str:
stack = []
for e in s:
if stack and abs(ord(e)-ord(stack[-1])) == 32:
stack.pop()
else:
stack.append(e)
return "".join(stack)
补字补字补
作者: JIWP (JIWP)   2024-04-05 18:05:00
大师
作者: amam1111 (thousand)   2024-04-05 18:05:00
大师
楼主: sustainer123 (caster)   2024-04-05 18:06:00
你才大师 index的方法比较难写
作者: digua (地瓜)   2024-04-05 18:09:00
大师
作者: SecondRun (雨夜琴声)   2024-04-05 18:24:00
大师
作者: wwndbk (黑人问号)   2024-04-05 18:25:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com