本文主要是介绍【练习3】点击消除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
地址:点击消除_牛客题霸_牛客网 (nowcoder.com)
分析:
消除的是“相邻且相等”的数,可以考虑用栈。这里使用StringBuilder来代替栈,好处是StringBuilder可以实现尾插和尾删的操作。
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);//将输入的内容转成字符数组char[] s = in.next().toCharArray();//创建StringBuilder对象来模拟栈StringBuilder st = new StringBuilder();//遍历字符数组for(int i = 0; i < s.length; i++){char ch = s[i];if(st.length() != 0 && ch == st.charAt(st.length() - 1)){//出栈st.deleteCharAt(st.length() - 1);}else{//入栈st.append(ch);}}System.out.println(st.length() == 0 ? 0 : st.toString());}
}
这篇关于【练习3】点击消除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!