11/2 下午 <String>
344. Reverse String
解法一(暴力法):
直接从两头往中间走,同时交换两边的字符即可
首位对调位置。
class Solution {
public void reverseString(char[] s) {
int tail = s.length-1;
for(int i = 0; i < s.length/2; i++){
char temp = s[i];
s[i] = s[tail-i];
s[tail-i] = temp;
}
}
}
解法二:
利用swap函数求解
class Solution {
public void reverseString(char[] s) {
// if(s == null || s.length == 0)
// return "";
int left = 0, right = s.length-1;
while(left < right){
char temp = s[left];
s[left++] = s[right];
s[right--] = temp;
}
}
}
151. Reverse Words in a String
1.反转全部字符数组
2.反转每个单词
3.清楚多余空格
class Solution {
public String reverseWords(String s) {
int n = s.length();
if (n == 0)
return "";
char[] a = s.toCharArray();
//1. reverse string
reverse(a, 0, n - 1);
//2. reverse words
reverseWord(a, n);
//3. clean up spaces
return cleanSpaces(a,n);
}
public String cleanSpaces(char[] a, int n){
int i = 0, j = 0;
while(j < n){
while(j < n && a[j] == ' ') j++;
while(j < n && a[j] != ' ') a[i++] = a[j++]; //keep non-spaces
while(j < n && a[j] == ' ') j++;
if(j < n) a[i++] = ' '; //keep only one space
}
return new String(a).substring(0, i);
}
void reverseWord(char[] a, int n){
int i = 0, j = 0;
while(i < n){
while(i < j || i < n && a[i] == ' ') i++; //skip spaces
while(j < i || j < n && a[j] != ' ') j++; //skip non-spaces
reverse(a, i, j -1);
}
}
private void reverse(char[] a, int i, int j){
while(i < j){
char temp = a[i];
a[i++] = a[j];
a[j--] = temp;
}
}
}
1.String类中toCharArray()方法的用法
该方法的作用是返回一个字符数组,该字符数组中存放了当前字符串中的所有字符。将字符串转换为字符数组。
2. 数组有length属性,String有length()方法。
优先级&& 大于 ||
11/2 下午 <String>的更多相关文章
- .NET中国开发者峰会11.9 下午分会场1 内容解析
China .NET Conf 2019中国 .NET 开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET 开发者盛会,我们筹备大会之初就定下了大会的主题是“开源.共享.创新”. ...
- c++ 11字符串与string转换常用函数
这里主要介绍一下string to int 其他方法与这个类似,可到头文件 <string> 中查看 @_Str 转换的字符串 @_Idx 转换的长度(位数) @_Base 进制 doub ...
- Java 11 - Java String类
Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...
- C++11中的raw string literals
作为一名C++书看得少得可怜的新手,我一直没有勇气去系统地学习一下C++ 11添加的新特性.不过,平日里逛论坛,阅读大犇们的博客,倒是了解了一些.比如,这个帖子: 如何绕过g++ 4.8.1那个不能在 ...
- c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)
--- 已经通过初步测试---- ------------------ 下面的是传统常见数据类型的转换(非c++11)--------------- std::string 与其他常用类型相互转换, ...
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
C# DateTime的11种构造函数 别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...
- LocalDate/LocalDateTime与String的互相转换示例(附DateTimeFormatter详解)
摘自:https://www.jianshu.com/p/b7e72e585a37 LocalDate/LocalDateTime与String的互相转换示例(附DateTimeFormatter详解 ...
- 企业IT管理员IE11升级指南【6】—— Internet Explorer 11面向IT专业人员的常见问题
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- java String 详解
1.java语言的字符串序列是通过字符串类实现的.java提供了3个字符串类:String类.StringBuilder类和StringBuffer类.String类是不变字符串,StringBuff ...
随机推荐
- 公式推导【IoUNet//ECCV2018】
Jiang B, Luo R, Mao J, Xiao T, Jiang Y. Acquisition of localization confidence for accurate object d ...
- UOS系统 - 国产统一操作系统UOS的基本知识
一.UOS操作系统含义及现状 UOS操作系统与windows不同的是,UOS统一操作系统支持龙芯.申威.华为鲲鹏等一票国产处理器芯片.它的诞生是多家国内科技公司联合孕育的结果,包括中国电子集团.武汉深 ...
- 深度解密Go语言之context
目录 什么是 context 为什么有 context context 底层实现原理 整体概览 接口 Context canceler 结构体 emptyCtx cancelCtx timerCtx ...
- AOP软件设计
什么是面向方面的编程? 为什么面向方面的软件设计? 术语 关注 视口 关注点分离 人工制品 横切 方面 编织 零件 形式主义 第二节 案例研究 关注 人工制品 横切 方面 AspectJ 加入点 切入 ...
- 如何配置jdk的本地环境
在计算机→属性→高级系统设置→高级→环境变量,如图: 第一步:系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是C:\Program Files\Java\jdk1.8. ...
- Composer 的安装
最近在家休息了两个月,本来打算看看书,结果和朋友做了个小项目.项目也差不多接近尾声了,就准备找工作了,朋友推荐我去他们公司做事,不过是使用 PHP 进行开发了.我这一年来使用 Java 进行开发,今后 ...
- c#的文本格式化形式展示
假设你使用的是新版本的的c#语法 c#的格式化形式有如下几种 string text = "Hello World!"; Console.WriteLine("Hello ...
- jre、jdk、jvm之间的关系
很多Java的程序员在写了很多代码之后,你问他JRE和JDK是是什么关系,JVM又是什么东西,他是不知道的. JVM(Java Virtual Machine) Java 虚拟机.它只认识 xxx.c ...
- appstore-react v2.0—redux-actions和redux-saga的应用
开发文档 https://redux-saga.js.org/ https://redux-saga-in-chinese.js.org/ https://redux-actions.js.org/ ...
- IDEA 日常小技巧
原文首发于 studyidea.cn点击查看更多技巧 适用于 IDEA 2019.2 之前版本 ,2019.2 版本以下功能默认开启. Surround a selection with a quot ...