`
betakoli
  • 浏览: 168766 次
社区版块
存档分类
最新评论

字符串中将*号置于前方,字符和数字置于后方

 
阅读更多
public static void main(String args[]) {
		String str = "**a**b**d*";
		char chars[] = str.toCharArray();
		int p1 = -1;
		for (int i = chars.length - 1; i >= 0; i--) {
			if (chars[i] != '*' && p1 == -1)
				continue;
			else if (chars[i] == '*' && p1 == -1) {
				p1 = i;
			} else if (chars[i] != '*' && p1 != -1) {
				char temp = chars[p1];
				chars[p1] = chars[i];
				chars[i] = temp;
				p1--;
			}
		}
		System.out.println(String.valueOf(chars));
	}

输入形式:**a**b**d*

输出结果:*******abd

这道题目如果使用C语言指针来实现,会更简单,不需要将字符串转换成为字符数组。

 

题目的陷阱在于,千万不要去新生成一个字符串,用来拼接字符,最后再进行合并,这样会减分。

分享到:
评论

相关推荐

    除了尾部的*号之外,将字符串中其它*号全部删除。

    假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符...

    使用一个字符串分割另一个字符串

    * 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...

    写一段程序用于移除字符串前端和后端连续的空白,空白包括空格,`\n`,`\t`。请使用字符串的**切片**实现,不能直接调用字符串的`strip`函数。请自行给

    写一段程序用于移除字符串前端和后端连续的空白,空白包括空格,`\n`,`\t`。请使用字符串的**切片**实现,不能直接调用字符串的`strip`函数。请自行给出满足要求的字符串并验证所写程序。

    VC++字符串处理函数对照表(宽字符与ANSI字符)

    ### VC++字符串处理函数对照表(宽字符与ANSI字符) #### 概述 本文档旨在为开发人员提供一个清晰的指南,以便更好地理解和使用C语言中的ANSI字符与C++中的宽字符处理函数。通过对比不同的数据类型以及相应的字符...

    QT中字符串的比较、查找、替换等操作 - 大存的博客1

    例如,`s1 + "to you"` 和 `s4.append(" World")`都是将两个字符串合并为一个新的字符串。 2. **格式化字符串**: 使用`sprintf()`函数可以进行格式化的字符串输出,如`s5.sprintf("%s","Welcome to my world")`,...

    统计字符串中数字、字母和空格的个数

    - **头文件**:`#include<stdio.h>`和`#include<string.h>`分别引入了标准输入输出库和字符串操作库。 - **主函数定义**:`int main()`定义了主函数。 - **变量声明**:`int a, b, c, i;`声明了四个整型变量。 - **...

    labview字符串创建数组

    在LabVIEW中,字符串操作是常见的任务之一,特别是在数据处理和信息传递中。要将单个字符串创建成字符串数组,我们需要了解LabVIEW的基本数据结构和编程方法。以下是一些关于如何在LabVIEW中创建字符串数组的关键...

    PB POWERBUILDER 字符串 数组 相互 转换 转化

    |PowerBuilder 数组字符串相互转化 天津 李华锋 * * | | * *PowerBuilder 数组字符串相互转化 完全免费 * * | | * *如果你将这个程序放在你的网站上,我希望你能同时加上本站的链接 | | * | * | * *老字符串转数组...

    VB字符串编程

    - `Val()`:将字符串转换为数字,如果字符串不能转换为数字,返回0。 - `Chr()`:将ASCII码转换为对应的字符。 - `Asc()`:将字符转换为其ASCII码。 7. **字符串比较**: - `=` 和 `<>` 运算符进行字符串的相等...

    MATLAB代码示例,用于将一个字符串添加到字符串数组的末尾(附详细步骤).txt

    MATLAB作为一种强大的计算工具,提供了多种方式来操作字符串和字符串数组。本文将详细介绍如何在MATLAB中将一个新的字符串添加到现有的字符串数组中,并确保该字符串不被重复添加。 #### 二、核心代码解析 首先,...

    在字符串中找出连续最长的数字串+

    "在字符串中找出连续最长的数字串并输出最长的字符串长度"这个问题是字符串处理中的一个经典实例,它涉及到字符串遍历、模式匹配和动态规划等概念。 首先,我们需要理解问题的核心:在给定的字符串中寻找连续的数字...

    matlab字符串.pdf

    - **数字与字符串转换**:`num2str` 和 `str2num` 分别将数字转换为字符串和字符串转换为数字。 - **数组转字符串**:`mat2str` 和 `int2str` 用于数组和整数数组的字符串表示。 7. **其他字符串操作函数**: - ...

    delphi实现数字和字母组合的字符串数字部分不断自加

    在Delphi编程环境中,我们经常遇到需要处理包含数字和字母的字符串,并且可能需要对其中的数字部分执行算术操作,比如自增。这个场景在处理编号、序列号或者密码时尤为常见。当我们遇到字符串中的数字长度不足以表示...

    cad 字符串里自动提取数字求和

    4. **过滤无用字符**:在解析过程中,遇到非数字字符时直接跳过,不纳入求和计算。 5. **结果返回**:完成遍历后,返回累计的总和。 在压缩包中的`nbs.fas`文件很可能是编译后的LISP源代码,通常使用`LOAD`或`LOAD...

    C#中在一个字符串中删除另一个字符或字符串

    标题提到的“C#中在一个字符串中删除另一个字符或字符串”涉及到的关键知识点主要包括字符串操作、字符数组、字符串替换以及正则表达式。以下将详细讲解这些知识点。 首先,C#中的字符串(`string`)是不可变的,这...

    Java第6章 字符串 含源代码

    - **数字**:`parseInt()`和`parseFloat()`可以将字符串转换为整数或浮点数。 5. **字符串格式化** `String.format()`方法可以进行类似C语言的printf风格的格式化输出,例如 `%d` 代表整数,`%s` 代表字符串。 6...

    MATLAB 将数值嵌入字符串示例

    首先,MATLAB提供了两种主要的方法将数值插入到字符串中:字符串连接(string concatenation)和字符串格式化(string formatting)。下面将分别详细介绍这两种方法。 1. **字符串连接**: 字符串连接是通过操作符`...

    postgresql数字结尾字符串分割排序说明

    ### PostgreSQL数字结尾字符串分割排序详解 #### 功能概述 本文档旨在详细介绍如何通过自定义函数在PostgreSQL数据库中实现一种特殊的排序方式:对于以数字结尾的字符串,首先将其分为两部分,一部分为非数字字符串...

    XeCoString 字符串反混淆 字符串解密

    混淆后的字符串看起来像是随机字符序列,使得恶意用户更难以理解和篡改。"XeCoString"是一款专为解决这个问题而设计的工具,它能帮助开发者对混淆的字符串进行反混淆和解密,便于程序调试和分析。 **XeCoString的...

    常用字符串算法集合(c++)

    6. **字符串到数字转换**:使用`std::stoi()`或`std::istringstream`将字符串转换为整数,`std::stof()`转换为浮点数。 7. **字符串格式化**:使用`std::stringstream`进行复杂的格式化输出,例如混合不同类型的...

Global site tag (gtag.js) - Google Analytics