【LeetCode】从LeetCode中学到的常用Trick

昨天开始刷LeetCode,在这个过程中学到了不少Trick,为了方便复习,特地整理出来。

字符串操作类

List转String[]

示例代码:

List<String> wordList = new ArrayList<String>();
String[] results = new String[wordList.size()];
wordList.toArray(results);

获得char在String中的index

比如说想在”abdc”中查找’a’的index,可以使用下面的代码。

示例代码:

int index = "abdc".indexOf('a');

再附一个indexOf函数的用法说明

int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1

eg:String str="a2dfcfar1bzvb";

System.out.println(str.indexOf(97,2));

看这个例子,输出:6

用for循环遍历String中的char

示例代码如下:

for(char c: w.toCharArray()){
    System.out.println(c);
}

翻转字符串

有内建方法:

public String reverseString(String s) {
    StringBuilder sb = new StringBuilder(s);
    return sb.reverse().toString();
}

位操作类

得到一个整数的二进制表示中有几个1

可以使用内建的Integer.bitCount()函数。

int bitCount = Integer.bitCount(999);

暂未归类

获得二维数组的”长度”和”宽度”

使用下面的代码可以获得二维数组的长度和宽度:

public int countBattleships(char[][] board) {

    int m = board.length; // 长度
    int n = board[0].length; // 宽度
}

如何得到调试信息

因为我们笔试的时候不能用编译器嘛,如果要调试的话只能看运行的结果。所以如果有需要的话,就在输出结果上做文章,把调试信息作为输出结果打出来就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值