20240404-1544.把字符串变好

题目要求:

给定一个由小写和大写英文字母组成的字符串 s。

一个好的字符串是没有两个相邻字符 s[i] 和 s[i + 1] 的字符串,其中:0 <= i <= s.length - 2
s[i] 是小写字母,s[i + 1] 是相同的字母,但为大写字母,反之亦然。
为了使字符串变好,您可以选择使字符串变坏的两个相邻字符并将其删除。 您可以继续这样做,直到字符串变得良好为止。

做好后返回字符串。 在给定的约束下,保证答案是唯一的。

请注意,空字符串也很好。

Example 1:

Input: s = "leEeetcode"
Output: "leetcode"
Explanation: In the first step, either you choose i = 1 or i = 2, both will result "leEeetcode" to be reduced to "leetcode".

Example 2:

Input: s = "abBAcC"
Output: ""
Explanation: We have many possible scenarios, and all lead to the same answer. For example:
"abBAcC" --> "aAcC" --> "cC" --> ""
"abBAcC" --> "abBA" --> "aA" --> ""

Example 3:

Input: s = "s"
Output: "s"

思路

第一反应是用双指针去存储新的result字符串,然后发现当删除之后新的对可能会碰到一起(Example 2)。这个时候因为已经遍历过之前的字符,就会变得无法操作。

在ai的提醒下想到用栈的方法来操作。代码如下:

代码

class Solution {
public:
    string makeGood(string s) {
        vector<char> result;
        for (char& c : s) {
            if (!result.empty() && abs(c - result.back()) == 32) {
                result.pop_back();
            } else {
                result.push_back(c);
            }
        }
        return string(result.begin(), result.end());
    }
};
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vmwaretools-10.3.22-15902021.tar.gz是一种由VMware公司开发的虚拟机软件工具包,旨在提供更好的虚拟机管理和使用体验。这个工具包的安装可以在Linux、Windows、Mac OS X等操作系统中进行,主要提供的功能包括增强虚拟机性能、加强虚拟机与宿主机之间的通信、支持虚拟机的剪贴板协议等。在使用虚拟机时,安装vmwaretools可以增加虚拟机的稳定性和易用性,提高虚拟机操作的效率。 vmwaretools-10.3.22-15902021.tar.gz是该工具包的一个版本,其中的数字表示版本号,后面一串字符表示该版本的发布时间。使用者可以从VMware公司的官方网站或其他可靠的软件下载网站上下载这个工具包,然后按照指示进行安装使用即可。虚拟机的使用在现代计算机领域中已经得越来越普遍,而使用vmwaretools这样的工具则可以让虚拟机的操作更加高效、稳定和安全。 ### 回答2: vmwaretools-10.3.22-15902021.tar.gz 是由 VMware 公司开发的一款软件工具,主要用于优化虚拟机在 VMware 虚拟平台上的性能。该工具包含了一系列驱动程序、应用程序和其它实用工具,可以帮助用户更好地控制虚拟机与托管系统之间的交互,提高虚拟机的性能和稳定性,同时也增强了虚拟机和宿主机之间的安全性。 vmwaretools-10.3.22-15902021.tar.gz 是该工具包的一个安装文件,用户在安装工具包之前需要先下载和解压这个文件。安装过程中,工具包会自动安装并配置适当的驱动程序和应用程序,同时也会为虚拟机提供一些额外的功能,如拖放文件、控制剪贴板、支持高分辨率图形等。 总的来说,vmwaretools-10.3.22-15902021.tar.gz 对于使用 VMware 虚拟机的用户来说是非常有用的一个工具包,它将优化虚拟机的性能和稳定性,并提供了很多额外的功能,让用户可以更加方便地使用虚拟机。 ### 回答3: vmwaretools-10.3.22-15902021.tar.gz 是 VMWare 虚拟机中的工具插件软件包。VMWare 虚拟机是一种用于在计算机上运行多个操作系统的软件,其提供了一种虚拟化技术,允许用户在同一台计算机上同时运行多个虚拟的操作系统。 vmwaretools-10.3.22-15902021.tar.gz 用于增强 VMWare 虚拟机的性能和功能,它包含了许多必要的驱动程序和应用程序,例如鼠标驱动程序、显卡驱动程序、网络驱动程序、时钟同步程序等等。此外,它还提供了一些额外的功能,例如共享文件夹、自动调整虚拟机窗口大小、复制粘贴等。 通过安装 vmwaretools-10.3.22-15902021.tar.gz,用户可以提高 VMWare 虚拟机的性能和稳定性,使得虚拟机可以更好地运行各种操作系统和应用程序。同时,使用 VMWare 虚拟机也可以节省物理设备和维护成本,提高系统资源利用率,从而为用户提供更高的生产力和效率。 总之,vmwaretools-10.3.22-15902021.tar.gz 是 VMWare 虚拟机中不可或缺的工具插件软件包,其可以帮助用户提高虚拟机性能和功能,同时为用户节省成本和提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值