public class RuntimeConstantPoolOOM { public static void main(String [] args) { int k=10; Palindrome(k); } public static void Palindrome(int k){ if(k<0) return; int x=0; int count=0; while(x<k) { //将数字转为为字符串 String s = Integer.toBinaryString(x); if(isPalindrome(s)) { count++; } x++; } System.out.println(count); } //判断是否为回文数 public static boolean isPalindrome(String s){ for(int i=0;i<s.length()/2;i++){ if(s.charAt(i)!=s.charAt(s.length()-i-1)) return false; } return true; } }
笔试的时候读错题,以为是打印所有情况,一直纠结,其实就是输出个数就好。