# 204. Count Primes

204. Count Primes

class Solution {
public int countPrimes(int n) {
int count = 0;
for (int i = 2; i < n; i++){
if (isPrime(i)) count++;
}
return count;
}
public boolean isPrime(int n){
for (int i = 2; i*i <= n; i++){
if ( n % i == 0) return false;
}
return true;
}
}

# 637. Average of Levels in Binary Tree

637. Average of Levels in Binary Tree

/**
* Definition for a binary tree node.
* public class TreeNode {
*     int val;
*     TreeNode left;
*     TreeNode right;
*     TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List averageOfLevels(TreeNode root) {
List out = new ArrayList();

while(! q.isEmpty()){
int len = q.size();
Double sum = 0.0;
for (int i = 0; i < len; i++){
TreeNode c = q.remove();
if (c != null){
sum += c.val;
}

}

}
return out;
}
}

# 868. Binary Gap

868. Binary Gap

class Solution {
public int binaryGap(int N) {
String binary = Integer.toBinaryString(N);
int first = 0;
while (first < binary.length() && binary.charAt(first) != '1'){
first ++;}
if (first == binary.length()) return 0;
int diff = Integer.MIN_VALUE;
int current = first;
for (int i = first+1; i  diff){
diff = i - current;
}
current = i;
}
}
if (diff == Integer.MIN_VALUE) return 0;
return diff;
}
}

# 884. Uncommon Words from Two Sentences

884. Uncommon Words from Two Sentences

class Solution {
public String[] uncommonFromSentences(String A, String B) {
List outputList = new ArrayList();
String[] As = A.split(" ");
String[] Bs = B.split(" ");
Map s = new HashMap();
for (int i = 0; i < As.length; i++){
if(s.get(As[i]) == null) s.put(As[i],1);
else s.put(As[i],s.get(As[i])+1);
}
for (int i = 0; i < Bs.length; i++){
if(s.get(Bs[i]) == null) s.put(Bs[i],1);
else s.put(Bs[i],s.get(Bs[i])+1);
}

for (String a: s.keySet()){
if ( s.get (a) == 1) outputList.add(a);
}

return outputList.toArray(new String[outputList.size()]);
}
}