字符串逆序输出
2016-04-30 14:50
197 查看
转自leetcode 344,
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
在 StringBuilder 上的主要操作是 append 和 insert 方法。
每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。
append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。
例如,如果 z 引用一个当前内容为“start”的字符串生成器对象,则该方法调用 z.append("le") 将使字符串生成器包含“startle”,而 z.insert(4, "le") 将更改字符串生成器,使之包含“starlet”。
通常,如果 n引用 StringBuilder 的实例(StringBuilder n = new StringBuilder();),则 n.append(x) 和 n.insert(n.length(), x) 具有相同的效果。
每个字符串生成器都有一定的容量。只要字符串生成器所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区。
如果内部缓冲区溢出,则此容量自动增大。 将StringBuilder的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。
StringBuilder类可以用于在无需创建一个新的字符串对象情况下修改字符串。StringBuilder不是线程安全的,而StringBuffer是线程安全的。但StringBuilder在单线程中的性能比StringBuffer高。
(用于Java和C#中)
一些string函数:(s为输入的字符串)
4、
s.length()等价于s.size()
sizeof(s)是求占用内存大小
strlen(s)
8、
c++里面可以用string里面的c_str可以把string转换成c的字符数组,返回类型为void *
9、 字符串和字符数组转化
点击打开链接
10、
public class Solution { public String reverseString(String s) { return new StringBuilder(s).reverse().toString(); } }
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
在 StringBuilder 上的主要操作是 append 和 insert 方法。
每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。
append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。
例如,如果 z 引用一个当前内容为“start”的字符串生成器对象,则该方法调用 z.append("le") 将使字符串生成器包含“startle”,而 z.insert(4, "le") 将更改字符串生成器,使之包含“starlet”。
通常,如果 n引用 StringBuilder 的实例(StringBuilder n = new StringBuilder();),则 n.append(x) 和 n.insert(n.length(), x) 具有相同的效果。
每个字符串生成器都有一定的容量。只要字符串生成器所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区。
如果内部缓冲区溢出,则此容量自动增大。 将StringBuilder的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。
StringBuilder类可以用于在无需创建一个新的字符串对象情况下修改字符串。StringBuilder不是线程安全的,而StringBuffer是线程安全的。但StringBuilder在单线程中的性能比StringBuffer高。
(用于Java和C#中)
一些string函数:(s为输入的字符串)
1、 char[] word = s.toCharArray();
return new String(word); (Java)
2、 byte[] bytes = s.getBytes(); //typedef unsigned char BYTE;
return new String(bytes); (Java)
3、 String leftStr = s.substring(0, length / 2);(Java)
4、
reverse(s.begin(), s.end());5、
swap(s[i++], s[j--]);6、
char *str =(char*)malloc(strlen(s)+1);7、
s.length()等价于s.size()
sizeof(s)是求占用内存大小
strlen(s)
8、
c++里面可以用string里面的c_str可以把string转换成c的字符数组,返回类型为void *
9、 字符串和字符数组转化
点击打开链接
10、
string vowels = "aeiouAEIOU"; while(i < j) { while(vowels.find(s[i]) == string::npos && i < j) ++i;//在vowel中进行查找匹配,判断s[i]是否为元音。如果有,返回在vowel中的下标位置;没有,返回string::npos
相关文章推荐
- 字符串逆序
- 字符串的逆序
- 将字符串以单词为单位逆序"I am a Student" 解法
- 使用字符指针将字符串逆序输出
- 【剑指Offer面试编程题】题目1361:翻转单词顺序--九度OJ
- Chaptert1--Arrays_and_Strings
- 递归实现字符串逆序打印
- 字符串面试题(一)字符串逆序
- 【算法之道】之字符串逆序输出
- 字符串数组逆序
- 将数组"student a am i"的内容改为"i am a student"
- 字符串逆序输出1.2
- 字符串逆序输出1.1
- 编程实现对输入的字符串进行逆序
- 字符串逆序输出与main函数的递归调用
- 字符串逆序排列
- 字符串逆序(一)
- Python: 利用序列的分片操作逆序字符串
- Linux shell:文本的按行逆序和字符串逆序
- 字符串逆序