- 浏览: 39805 次
-
文章分类
- 全部博客 (37)
- java (37)
- [文摘20081112]经典语录 (1)
- php+mysql预查询prepare 与普通查询的性能对比 (1)
- Android采用SharedPreferences保存用户登录信息 (1)
- 找bug记(2) (1)
- 细节优化提升资源利用率 (1)
- java(j2se)学习笔记----类注释文档编写方法? (1)
- 如何查看Class文件编译的JDK版本 (1)
- 验证码显示不了,报Could not initialize class sun.awt.X11GraphicsEnvironment (1)
- Android使用KSOAP2调用WebService及正确导入jar包的问题 (1)
- The content of the adapter has changed but ListView did not receive a notification. (1)
- 很想写些CMMI的东西 (1)
- JPA & Hibernate 注解 (1)
- Java反编译工具――Jode (1)
- Eclipse3.0.0插件安装解决方法 (1)
- SVG简介及相关工具 (1)
- 开始在这个BLOG里放一部分MapXtreme2004相关代码 (1)
- 支持.NET环境的GIS开发工具MapXtreme2004 (1)
- 将DAT格式视频文件转换成ASF和WMV格式视频文件 (1)
- 《漫谈设计模式》一书终于出版了 (1)
- 一位程序员的一个LBS应用的想法 (1)
- 一刷网络投票的小程序 (1)
- 面试字符串处理之单词翻转 (1)
- rails 上载xls文件 (1)
- 如何获得Java项目文件所在的相对路径 (1)
- 学习FlexViewer(一)——事件和框架 (1)
- Android开发之消息处理机制(二)——消息循环 (1)
- JAVA操作——获取文件扩展名,去掉文件扩展名 (1)
- freemarker 读取session 值 (1)
- xfire 使用用户名/密码进行身份认证 (1)
- java中的图片处理 (1)
- HTC Touch HD2/LEO/T8585刷机教程 进三色屏 (1)
- js性能问题 (1)
- js 事件收集 (1)
最新评论
-
Glorin:
非常感谢你,让我的问题能够得以解决。
验证码显示不了,报Could not initialize class sun.awt.X11GraphicsEnvironment -
thzthbthy:
/*
* Java文件操作 获取文件扩展名
*
...
JAVA操作——获取文件扩展名,去掉文件扩展名 -
jyjava:
你debug调试,应该很快会定位到的
找bug记(2) -
xuehua1987:
上面的方法返回值是void ,怎么可以返回你取到的连接???? ...
找bug记(2)
<p align="left">分析:第一步,将字符串完全倒置,即".gnijnan morf emoc i"
<p align="left">实现一:
<p align="left">#include <string.h><br>
#include <stdlib.h><br>
char * convert (char* pure)<br>
{<br><br><br>
char *temp=(char *)malloc(strlen(pure)+1);<br>
int i=0;<br>
int j=strlen(pure);<br>
int pre=0;<br>
int k=0;<br>
temp[j]='\0';<br>
for (i=0;i<strlen(pure);i++)<br>
{<br>
temp[--j]=pure[i];//字符串反转<br>
}<br>
for(i=0;i<strlen(temp);i++)<br>
{<br>
if(temp[i]==' ')<br>
{<br>
k=i;<br>
for(j=pre;j<i;j++)<br>
pure[j]=temp[--k];<br>
pure[j]=' ';<br>
pre=i+1;<br>
}<br>
if(i==(strlen(temp)-1))<br>
{<br>
k=i;<br>
for(j=pre;j<=i;j++)<br>
pure[j]=temp[k--];<br>
}<br>
}<br>
return pure;<br>
}<br>
int main(int argc, char* argv[])<br>
{<br>
char a[]="am loving you baby";<br>
convert(a);<br>
printf("%s\n",a);<br>
return 0;
<p align="left">实现二:(较为清楚的实现)
#include <string.h><br>
void strReverse(char *str,int n)<br>
{<br>
int i = 0;<br>
int j = 0;<br>
int begin;<br>
int end;<br>
char temp;<br><br>
//...............第一步:整体倒置......................//<br>
j = n-1;<br>
while (j>i)<br>
{<br>
temp = str[i];<br>
str[i] = str[j];<br>
str[j] = temp;<br>
i++;<br>
j--;<br>
}<br>
printf("after reversing wholly string = %s\n",str);<br>
//...............第二步:按单词部分倒置......................//<br>
i = 0;<br>
while (str[i]!='\0')<br>
{<br>
if (str[i]!=' ')<br>
{<br>
begin = i;<br>
while ((str[i]!='\0') && (str[i]!=' '))<br>
{<br>
i++;<br>
}<br>
i = i-1;<br>
end = i;<br>
}<br>
while (begin<end)<br>
{<br>
temp = str[begin];<br>
str[begin] = str[end];<br>
str[end] = temp;<br>
begin++;<br>
end--;<br>
}<br>
i++;<br>
}<br>
}<br>
int main()<br>
{<br><br>
char str[] = "i come from nanjing.";<br>
int j = 0;<br><br>
j = strlen(str);<br>
printf(" string = %s\n",str);<br>
strReverse(str,j);<br>
printf(" string = %s\n",str);<br>
return 0;<br>
}
发表评论
-
js 事件收集
2012-02-08 13:18 582一般事件 事件 浏 ... -
js性能问题
2012-02-08 13:13 787随着web应用的复杂度日渐提高,JavaScript代 ... -
HTC Touch HD2/LEO/T8585刷机教程 进三色屏
2012-02-07 15:53 1092[size=14px; line-height: 21 ... -
java中的图片处理
2012-02-04 12:44 796附件中的文件包括: 1.图片的压缩 2.处理圆角图片 ... -
xfire 使用用户名/密码进行身份认证
2012-02-03 16:59 1206对SOAP报文进行身 ... -
freemarker 读取session 值
2012-02-03 08:25 2539<span style="font-f ... -
JAVA操作——获取文件扩展名,去掉文件扩展名
2012-01-31 14:08 2317<p> 昨天收邮件,得知要参加一个产品部的 ... -
Android开发之消息处理机制(二)——消息循环
2012-01-11 14:53 841<h1>Android开发 ... -
学习FlexViewer(一)——事件和框架
2012-01-11 11:44 1238????? 上午做了关于FlexViewer的讲座,项 ... -
如何获得Java项目文件所在的相对路径
2011-12-28 15:08 2282[size=18px;]今天在开发中做一个java项 ... -
rails 上载xls文件
2011-12-21 12:14 1115?<span style="font- ... -
一刷网络投票的小程序
2011-12-20 11:44 1316最近看到网上一投 ... -
一位程序员的一个LBS应用的想法
2011-12-20 10:14 755最近状态不佳, ... -
《漫谈设计模式》一书终于出版了
2011-12-19 13:09 947<p class="MsoNor ... -
将DAT格式视频文件转换成ASF和WMV格式视频文件
2011-12-17 15:29 889以*.ASF和*.WMV为后缀名的视频文件,是微软针对 ... -
支持.NET环境的GIS开发工具MapXtreme2004
2011-12-16 16:12 702<font color="#ff000 ... -
开始在这个BLOG里放一部分MapXtreme2004相关代码
2011-12-15 14:38 564MapXtreme2004是嵌入到.NET环境中的地理 ... -
SVG简介及相关工具
2011-12-14 15:47 752<span style="" ... -
Eclipse3.0.0插件安装解决方法
2011-12-14 15:27 792<p class="MsoNorma ... -
Java反编译工具――Jode
2011-12-13 11:49 791</span> </span> ...
相关推荐
对于应聘者来说,掌握字符串相关的算法和技巧是必不可少的能力之一。微软作为全球知名的科技公司,在其面试过程中常常会考察应聘者的逻辑思维能力和对基本数据结构的理解程度。 题目描述:本题要求实现的功能是...
通过一行代码实现这个问题,我们可以结合`strip()`、`split()`、`[::-1]`(反向切片)和`join()`操作,一次性完成翻转单词、处理多余空格和合并字符串的操作。 **复杂度分析:** 与方法二相同。 ```python class ...
这个解决方案充分利用了Java的字符串处理能力和数据结构,实现了对字符串的单词维度反转,同时也确保了空格数量的正确保留。这种问题解决方式不仅适用于面试,也对日常的编程工作有着重要的实践价值,它展示了如何...
本文基于《代码随想录》,围绕着字符串相关的知识点深入探讨,详细解析了一系列经典的字符串操作问题及其对应的解题思路与代码实现,覆盖字符串反转、替换空格、单词翻转及KMP模式匹配等多个重点主题。此外,还阐述...
剑指Offer(Python多种思路实现):翻转字符串 面试58题: 题目:翻转字符串 题:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来...
在给定的"C++代码(回文单词,数据结构等)"压缩包中,我们可以预见到包含了一系列关于C++编程的实践项目,涉及到的核心知识点主要包括回文字符串处理、电话号码管理、图书馆管理以及数据结构的实现。下面将对这些...
4. **字符串的索引对**:给定一个字符串数组,找出所有满足索引对 (i, j) 使得 s[i] 和 s[j] 是彼此的翻转(回文对)。Trie 可以用来高效地检查字符串是否为回文。 5. **最长单词**:在给定的单词列表中,找出最长...
III、第k个排列、优美的排列、翻转游戏 II、N皇后 II、子集 II、全排列 II、黄金矿工、组合总和 II、将数组拆分成斐波那契序列、活字印刷、计算各个位数不同的数字个数、二进制手表、格雷编码、串联字符串的最大长度...
在Java中,字符串是不可变的,因此翻转字符串通常需要创建新的字符串对象或者使用StringBuilder或StringBuffer类。这可能涉及到字符串的基本操作、字符数组以及字符串比较。 3. **BracketsPaired.java**:此文件...
这个问题实际上是一个字符串处理问题,可以通过先分割字符串然后反转整个句子的方式来解决。 8. 判断整数序列是否为二元查找树的后序遍历结果: 这个问题考察了对于二元查找树遍历的理解,需要根据后序遍历的特性...
5. 字符串处理问题:例如Candy(糖果)、Trapping Rain Water(接雨水)、Reverse Words in a String II(翻转字符串中的单词)等,考察候选人对字符串操作的熟练度。 6. 动态规划问题:如Minimum Size Subarray ...
- 其他字符串和数组操作题目的解决方案通常涉及字符串处理、排序、哈希表等数据结构,具体方法取决于题目的具体要求,如字符串翻转、单词翻转、查找子串等。 这些题目覆盖了算法、数据结构和逻辑思维等多个方面,...
- **解决方案**:可以先遍历字符串统计每个字符出现的次数,然后再遍历一遍字符串,找到第一个出现次数为1的字符。 **14. 约瑟夫环问题** - **问题描述**:给定n个编号为0到n-1的人围成一圈,从编号0的人开始报数...
可以先将整个字符串翻转一次,然后逐个翻转每个单词。这样可以有效地避免额外的空间开销。 #### 11. 有序链表的合并 题目要求将两个有序链表合并为一个有序链表。 **解决方案**: 可以通过迭代或递归的方式来实现...
- **知识点**: 字符串操作、单词分割。 - **应用场景**: 给定一个英文句子,翻转句子中单词的顺序,但单词内部的字母顺序不变。 ### 8. 求1+2++n - **知识点**: 数学公式、循环控制。 - **应用场景**: 使用循环或...
- **实现步骤**:使用字符串操作函数将句子分割成单词列表,然后逐个翻转每个单词。 - **特殊情况处理**:考虑到句子中可能存在多个空格的情况,需要先去除多余的空格。 ### 8. 求1+2++n - **公式推导**:这是一个...
- 句子单词翻转可使用栈,将单词入栈,然后依次弹出。 - 子字符串查找可以使用滑动窗口或Boyer-Moore算法。 - 比较两个字符串的O(n)时间复杂度比较可直接逐字符比较。 - 找出1001数组中重复数字,可以使用异或...
7. **翻转句子中单词的顺序**:这个任务涉及到字符串处理,可以使用双指针技术,从单词末尾开始向前翻转,然后翻转整个句子。 8. **判断序列是否为二元查找树后序遍历**:对于这类问题,需要理解二元查找树的后序...