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") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true
代码如下:
 1 public class Solution {
 2     public boolean canConstruct(String ransomNote, String magazine) {
 3         if(ransomNote.length()<=magazine.length())
 4         {
 5             int i=0;
 6             while(i<ransomNote.length())
 7             {
 8                 int index=magazine.indexOf(ransomNote.charAt(i));
 9                 if(index!=-1)
10                 {
11                    magazine= magazine.replaceFirst(magazine.substring(index,index+1),"");
12                     i++;
13                 }
14                 else return false;
15             }
16         }
17         else return false;
18         
19         return true;
20     }
21 }