每天一道算法题(35)——删除字符串首尾的空格

题目:

输入字符串,删除首尾的空格。单词中间只留下一个空格。

如输入“   a    b    c   ”输出“a b c"

代码:

	public static String test1(String s) {
		StringBuffer sb=new StringBuffer(s.trim());
		int j=0;
		int i;
		for(;j<sb.length();){
			i=j;
			while(sb.charAt(j)==' '&&j<sb.length()-1&&sb.charAt(j+1)==' ')
				j++;
			if(j>i)
			  sb.delete(i, j);
			j=i;
			j++;
		}
		return new String(sb);
	}
char* formatString(char *sourceString) {
    if(!sourceString)
        return 0;
	bool flag=false;
    char*out=sourceString;
    char* p=out;
    char* q=out;
    while(*q==' ')
        q++;
    while(*q!='\0'){
        *p=*q;
         p++;
		 q++;
        while(*q==' '&&*(q-1)==' ')
			q++;
    }
	if(*(p-1)==' ')
		*(p-1)='\0';
	else
       *p='\0';
    return out;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-06 20:06:56

每天一道算法题(35)——删除字符串首尾的空格的相关文章

经典算法题-基础-替换字符串中的空格

目录 问题描述 解题思路 相关代码 问题描述 题目描述 请实现一个函数,把字符串中的每个空格替换成"%20" 要求 时间限制:1秒 空间限制:32768K 方法原型 public void replaceSpace(char[] str) 输入输出例子 输入:"Wa are happy" 输出:"We%20are%20happy" 解题思路 此题最自然的思路,就是从字符串的开始遍历,寻找空格,当遇到空格时,就将空格替换为"%20&quo

C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变

#include<stdio.h> #include<string.h> char * deblank(char * str) { char * left = str;//前面的指针,负责赋值 char * right = str;//后面寻找非空格字符的指针 while (*right)//截至字符串完 { if (*right != ' ') { if (left<right) { *left = *right;//赋值 } left++; } if (*right ==

一天一道算法题---6.26---二分查找

感谢微信平台---一天一道算法题----每天多一点进步-- 好累啊  现在在用win7自带的输入法 打起来真麻烦 快点把这2天的搞完就重装了 还是直接来源于----〉 待字闺中 分析 给定一个数组A,其中有一个位置被称为Magic Index,含义是:如果i是Magic Index,则A[i] = i.假设A中的元素递增有序.且不重复,请给出方法,找到这个Magic Index.更进一步,当A中允许有重复的元素,该怎么办呢? 没有重复元素的情况 一些同学在遇到这个题目的时候,往往会觉得比较简单.

一天一道算法题--6.25--无定义

感谢微信平台---一天一道算法题--每天多一点进步---- 其实今天我接下去补上的几题都来自---待字闺中 所以我就原封不动的将它的题目与分析搬过来了 原题 给定一个数组,我们可以找到两个不相交的.并且是连续的子数组A和B,A中的数字和为sum(A), B中的元素和为sum(B).找到这样的A和B,满足sum(A) - sum(B)的绝对值是最大的. 例如:[2, -1 -2, 1, -4, 2, 8]划分为A=[-1, -2, 1, -4], B=[2, 8], 最大的值为16 分析 如果没有

一天一道算法题--5.29---动态规划之数塔

感谢微信平台:  一天一道算法题-------每天多一点进步----------- 这题的话 我就直接用我们自己Oj的题目了 戳我 好吧  如今看这题  是很简单  当时 是块被它搞崩溃了   因为 还不知道  dp 这个概念 现在有了这个概念   好多了  但还是 只能做做这种水 dp.... 多么悲伤的故事 这题 因为太水了   晚上 应该会去找个高质量的题来做的 如果你是dp刚刚学 这题真的很适合你 1 #include <iostream> 2 #include <cstring

一天一道算法题---5.26---思维锻炼

感谢 微信平台: 一天一道算法题 -----  大家没事都可以去关注他 --- 不是做广告的---- 题目大意:  给你一个长度为n的整数序列A1,A2,--,An,找出两个整数Ai和Aj(i<j),使得Ai-Aj尽量大 反正 暴力肯定超时..... 数据大小 我也就给出了 反正 尽量用最好算法去解 就是了 嗯 它给的是o(n)的时间复杂度和空间度   但是很容易转换成o(1)空间度 o(n)时间复杂度的写法 这边给出个 与这题意相同的一个 题目  发现竟然是我以前WA的 怪不得 那么熟悉 ..

一天一道算法题--5.25--bfs或者最短路

好吧 还是拖到了5.26来写本是5.25的题... 自我 宽恕 老样子---  感谢    微信平台: 一天一道算法题   无聊的你 也可以去关注一下 题目 链接:http://poj.org/problem?id=3126 题目 大意:  给你2个素数 问从一个素数到另一个转换的过程中  每次只允许改变一个位上的数 并且在改动过程中 保证它也是素数  最少需要多少次实现这个转换? ok 其实 这题 不算难  当告诉你这是个搜索以后  只是在进行个位 十位 百位 千位 上各个数字尝试的时候 可能

一天一道算法题---6.3---二分运用

感谢微信平台 : 一天一道算法题 -----  一天多一点进步----- 先来段 废话: 已经 3 4天没更了 主要还是自己 太懒了 .... 好 让我们 开始吧 题目链接: touch  me 是不是 有点长啊  最可恶的是 还有张 诱人的 馅饼  --- 话说 有个很好的美国系列校园青春 sex movie ---  American Pie  --- 美国派----- 题目大意: 有F+1个人来分N个圆形蛋糕 每个人得到的必是一整块蛋糕 (不是由几块拼在一起的)面积要相同 求每个人最多能得

认真对待每一道算法题 之 找明星问题 - 淘宇瀚

n个人中只有一个明星,明星不认识其他所有的人,而其他人都认识明星,不是明星的人可能认识也可能不认识.你每次只可以问一个人是否认识另一个人这样的问题,问最少问多少次可以找出明星. 做法1: 将所有人站队,按照顺序(假如编号分别为1.2.3..n),首先问1,2互相认识,有四种情况出现: (1)1 认识 2,2不认识1, 认识别人的肯定不是明星,排除1: (2)1 不认识2,2认识1, 根据(1)的道理,同样可以排除2: (3)1与2 互相认识,可以断定,两个人都不是明星,随机删除一个就好: (4)