删除、去掉字符串尾部的0或者某个特定字符(递归实现)
/*****************************************************************************
* 类描述: TODO
****************************************************************************/
public class TempTest {
/************************************
* 方法说明: 测试
* 参数: @param args
* 返回: void
*************************************/
public static void main(String[] args) {
// 测试
String str = "1111111111010000";
String string = removeTail0(str);
System.out.println("string:"+string);
}
/************************************
* 方法说明: 删除字符串尾部的0
* 参数: @param str
* 返回: String
***********************************/
public static String removeTail0(String str){
// 如果字符串尾部不为0,返回字符串
if(!str.substring(str.length() -1).equals("0")){
return str;
}else{
// 否则将字符串尾部删除一位再进行递归
return removeTail0(str.substring(0, str.length() -1 ));
}
}
}
打印结果应该是:string:111111111101
本方法是本人想到的一个简单实现,如果大家有更好的建议,请留言!
分享到:
相关推荐
首先,字符串循环左移问题是指将一个字符串S的前k个字符移动到字符串的尾部,例如字符串“abcdef”前两个字符“ab”移动到尾部后得到新字符串“cdefab”。这个问题有多种解决方法,其中一种是暴力移位法,即每次循环...
2. **递归法**:通过递归调用来实现字符串反转,每次将第一个字符移到末尾,然后对剩余部分进行同样的操作。 3. **栈操作**:利用栈的后进先出(LIFO)特性,将字符串逐个字符入栈,再依次出栈得到反转的字符串。 ...
在这个函数中,`substr($str, 1)` 获取去掉第一个字符后的子字符串,然后递归调用 `reverse_r()`。当字符串长度为0时,递归结束,开始返回之前保存的字符。由于PHP中的字符串是不可变的,因此在实际应用中,递归实现...
通过连接操作实现字符串倒转,将字符串逐个字符添加到结果字符串的前面。代码如下: ```易语言 .字符串A = "Hello, World!" .字符串B = "" .循环 .字符串A.长度 .字符串B = .字符串A[.索引] + .字符串B .索引 += 1...
在编程领域,回文是一种特殊的字符串,它从前向后读和从后向前读是一样的,例如"level"、"madam"或者"C++"。在本主题中,我们将深入探讨如何使用C++语言来实现一个回文判断的程序。这个程序的主要目标是接收一个字符...
这种方法通过不断将字符串的首字符追加到尾部,同时删除原字符串的第一个字符,直到遍历完整个字符串。 ```java String str = "Hello World"; StringBuilder sb = new StringBuilder(str); while (sb.length()...
字符串逆序 ...设置两个指针,分别指向字符串的头部和尾部,然后交换两个指针所指的字符,并向中间移动指针直到交叉。 方法三:递归原地逆序。指定逆序区间,借用一个中间变量,每次将首尾字符互换。
下面的`removeEmptyObject`函数就是这样一个例子,它递归地检查对象的所有属性,如果属性值为空(空字符串、null、undefined),则删除该属性: ```javascript function removeEmptyObject(object) { for (var i ...
3. **递归实现**:使用递归函数,将字符串分为两部分,每次递归调用处理后半部分,然后将其添加到前半部分的前面,最终达到倒序的效果。 4. **栈数据结构**:利用栈的后进先出(LIFO)特性,将字符串中的字符依次压...
可以定义一个辅助函数 `LeftShiftOne` 来移动一个字符到字符串尾部。 - 实现时,先保存第一个字符,然后逐个将剩余字符向前移动一位,最后将第一个字符放到末尾。 - 时间复杂度为 O(m * n),空间复杂度为 O(1),不...
在这个场景下,我们需要删除所有尾部为特定内容的字符串,以及清理空行。 **方法一:效率为N*N** 这种方法通常涉及两层循环,外层循环遍历TList的每个元素,内层循环则检查该元素是否满足删除条件。如果元素尾部...
10. 去除指定字符:遍历字符串,替换或删除特定字符。 11. 子串复制:使用字符串操作函数,如memcpy,理解字符串的内存管理。 12. IP地址拆分:将IP地址拆分为四个整数,理解字符串到整数的转换。 13. 前缀判断:...
- *号前导到尾部(题36):涉及字符串遍历和字符移动。 10. **其他**: - 删除空格(题35):简单字符串遍历和替换操作。 - 字符出现次数统计(题38):需要实现计数逻辑。 以上是C语言编程中的常见知识点,...
分析这些文件可以帮助我们更深入地理解这个特定的字符串翻转实现。 总的来说,掌握字符串翻转算法有助于提升JavaScript编程技能,这在日常开发、算法竞赛和面试中都是一个常见的考点。理解并能灵活运用不同的翻转...
3. 字符串逆序:可以使用C#的`string.Reverse()`方法直接实现,或者创建一个新的字符串,从原字符串末尾开始遍历并添加到新字符串中。 4. 复数类设计:这是面向对象编程的一部分,需要创建一个`Complex`类,包含两...
定义两个指针,一个从字符串的头部开始向后移动,另一个从尾部开始向前移动,如果在任何时候两个指针指向的字符不相同,则该字符串不是回文串;反之,如果所有字符都比较过且都相等,则为回文串。 接着,我们要解决...
给定的代码示例实现了一个简单的递归下降分析程序,该程序用于解析一个特定的文法。 #### 四、代码解析 1. **数据结构定义**: - 定义了一个`Lchar`结构体类型,用于存储字符及其下一个字符的指针。 - `protect`...
* 常用查找方法 `strip()` 去除字符串首尾指定信息、`lstrip()` 去除字符串左边指定信息、`retrip()` 去除字符串右边指定信息 * 大小写转换字符串的格式化 `format()` 基本用法 `str.format()` 函数:格式化字符串,...
构成回文序列最少要增加多少字符 ...解法二为求出字符串与逆序字符串的最长公共子串, 需要增加数目为字符串总数减去最长公共子串长度。 http://blog.csdn.net/ssuchange/article/details/17385039