Java编程题目-12:字符串的construct
来源:互联网 发布:网络主播自慰直播视频 编辑:程序博客网 时间:2024/06/06 01:10
题目要求:
Given
an
arbitrary
ransom
note
string
and
another
string
containing
letters from
all
the
magazines,
write
a
function
that
will
return
true
if
the
ransom
note
can
be
constructed
from
the
magazines ;
otherwise,
it
will
return
false.
Each
letter
in
the
magazine
string
can
only
be
used
once
in
your
ransom
note.
Note:
You may assume that both strings contain only lowercase letters.
canConstruct("a", "b") -> falsecanConstruct("aa", "ab") -> falsecanConstruct("aa", "aab") -> true
原题链接:请戳这里
解决代码如下:
public class Solution { public boolean canConstruct(String ransomNote, String magazine) { ArrayList<Character> ranList = getListFromArray(ransomNote); ArrayList<Character> magList = getListFromArray(magazine); // 循环从ransomNote中取出字符 for(int i=0;i<ranList.size();i++){ char c = ranList.get(i); if(magList.contains(c)){ magList.remove(magList.indexOf(c));// *比对之后删掉该字符 continue; }else{ return false; } } return true; } // 将string转成list public ArrayList<Character> getListFromArray(String string){ ArrayList<Character> list = new ArrayList<Character>(); char[] strArr = string.toCharArray(); for (char c : strArr) { list.add(c); } return list; }}
我的思路:
1. 从ransomNote中逐个取出字符
2. 再到magazine中去确认是否含有该字符
3. 如果magazine中包含该字符,则删掉magazine中的这个字符
4. 如果magazine中不含该字符,则返回false
为什么要删掉magazine中的对应字符?因为假如说ransomNote为“aaagbfrd”,而magazine为“aabgefdrtg“时,针对字符‘a’就会出现错误判断,当判断ransomNote中第三个‘a’时,实际应该是false,但是magazine中还是有‘a’与之对应,故会返回错误值true。
- Java编程题目-12:字符串的construct
- 五十道编程小题目 --- 49 计算字符串中子串出现的次数 java
- Java编程题目-3:字符串自定义encode(),decode()
- 五十道编程小题目 --- 40 字符串排序 java
- 几道有意思的java编程题目
- Java编程题目-10:2的幂
- Java编程题目-11:数组的交集
- 吸血鬼数字的java编程 java编程思想上的题目
- 编程题目C++字符串相关
- 编程题目:格式化名字字符串
- js 字符串反转编程题目
- java编程题目
- Java程序设计编程题目
- JAVA编程典型题目
- 字符串的题目
- 有关字符串的题目
- java 面试中的一道截取字符串的经典题目
- java中String的字符串方法典型题目
- 权限控制之Shiro框架--初步了解篇
- 观察者模式
- 二分查找详解
- JSR303规范
- 使用命令wsimport构建WebService客户端
- Java编程题目-12:字符串的construct
- Go语言通过指令的方式拷贝文件
- 拆分n个符号的方法
- Windows::Rtl::ObjAttrFromName
- Intent属性详解一 component属性
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
- js误区:方法变成字符串了??
- 快速排序Java实现
- 199 c 通过函数名字符串调用函数