举个例子:
ABCCBCBA ==> ACBA
思路比较简单,就是用一个基准指针和一个探索指针,不断比较,并把探索指针指向的元素拷到基准指针那里。
但要注意指针越界的问题,还有输入为空字符串的情况。
package String;
public class RemoveAdjacentPairs {
public static void main(String[] args) {
// String s = "ABCCBCBA";
// String s = "";
String s = "acbbcddc";
System.out.println(removeAdjacentPairs(s));
}
public static String removeAdjacentPairs(String s) {
int len = s.length();
if(len == 0) {
return s;
}
int cur = 0; // 被比较对象
char[] ss = s.toCharArray();
for(int probe=1; probe<len; probe++) { // 比较对象
while(cur>=0 && probe<len && ss[probe]==ss[cur]) {
probe++;
cur--;
}
if(cur+1<len && probe>=0 && probe<len){
cur++;
ss[cur] = ss[probe];
}
}
// cur+1为移除相邻相同字符后的长度,0为offset
return new String(ss, 0, cur+1);
}
}
如果要用递归的方法则参考:
http://www.geeksforgeeks.org/recursively-remove-adjacent-duplicates-given-string/
分享到:
相关推荐
相邻可能视点简单的可视化库,用于创建原理图相邻的可能的可视化。 仍处于一种混乱状态。 如果您使用它,请联系 ,我将投资清理它! 或者,提出带有功能建议或问题的新期刊!正在安装安装npm。 查看此仓库。 运行npm...
In this paper we present a statistical change ... In particular, the projection of the pattern onto the subspace is computed by an O(N) iterative procedure known as Pool Adjacent Violators algorithm.
GeeksForGeeks Microprocessor Lecture Notes GeeksForGeeks Microprocessor Lecture Notes
用于等渗回归的Pair Adjacent Violators算法的实现。用Kotlin编写,但可用于 Java 或任何其他 JVM 语言。 请注意,此算法也称为“池相邻违规者”。 什么是“等渗回归”,我为什么要关心? 假设您有两个变量x和y,...
adjacent construction 相邻建造物 adjacent ground 相邻土地 adjacent land 相邻土地 adjacent site 相邻地盘 adjacent street 相邻街道 adjacent unit 相连单位 adjoining area 毗邻地区 adjoining ...
详细介绍的射频领域的临近信道抑制问题, 射频基础知识概念的解释。 希望对大家有用,帮助大家成长为射频工程师
PKU_3786Adjacent Bit Counts
ml5相邻 iframe为ml5相邻文章嵌入 链接: 拖放图像: : 图像分类视频: : LSTM生成: : 样式转移: : 音高检测: : Word2Vec: ://ml5js.github.io/ml5-adjacent/06_Word2Vec/ PoseNet: ://ml5js.github....
主要包含kAS的文档和PPT,以及相关的文献。之前导师让做kAS报告时收集的资料,请需要的下载。
Adjacent-Vertex-Distinguishing Proper Edge Colorings of Planar Bipartite Graphs with △=9, 10, 11
点对称为边 edge 或称弧 arc 其中 称是相邻的 adjacent 称u v与边相关联 incident 或相邻 若边的点对有序则称为有向 directed 边 其中u称为头 head v称为尾 tail 所形成的图称有向图 directed graph 为对于u来...
配对相邻违反者 概述 的算法的实现。 用编写,但可用于Java或任何。 请注意,此算法也称为“池相邻违反者”。 什么是“等渗回归”,我为什么要关心? 想象一下,您有两个变量x和y ,并且您不知道它们之间的关系,...
How far does the power of the adjacent vertex methods extend in solvingnon-linear programming problems? This question here gets a partial answebeing restricted to variables and objective functions ...
24.5 相邻元素求差adjacent_difference 417 24.6 n次方计算power 419 24.7 本章小结 421 第五篇 C++ STL迭代器技术 第25章 输入输出流迭代器 424 25.1 输入流迭代器 424 25.2 输出流迭代器 426 25.3 ...
24.5 相邻元素求差adjacent_difference 417 24.6 n次方计算power 419 24.7 本章小结 421 第五篇 C++ STL迭代器技术 第25章 输入输出流迭代器 424 25.1 输入流迭代器 424 25.2 输出流迭代器 426 25.3 ...
24.5 相邻元素求差adjacent_difference 417 24.6 n次方计算power 419 24.7 本章小结 421 第五篇 C++ STL迭代器技术 第25章 输入输出流迭代器 424 25.1 输入流迭代器 424 25.2 输出流迭代器 426 25.3 ...
描述Google Maps API实现,可确定与主题全景图相邻的全景图(最多2个),并仅选择取决于主题全景图的方向(即,是否位于左侧,前面)而位于相关区域中的那些全景图到地图中心点的位置或位于地图中心点的位置。...
BC网络上相邻顶点间独立路径的构造算法,程宝雷,樊建席,一一对应连接互连网络是超立方体变型族,包括超立方体、扭立方体、交叉立方体、莫比乌斯立方体及局部扭立方体等。本文研究了n维��
Total coloring of planar graphs without adjacent short cycles
THE ADJACENT VEHICLES QUERY ALGORITHM OF MICROSCOPIC TRAFFIC SIMULATION