#268 Caesars Cipher

字母 UNIcode编码
A 65
M 77
N 78
Z 90
unicode编码范围 对应字符 处理
64 A-M + 13
78<=X<=90 N-Z -13
X<=64 A-Z以外 不变
90 A-Z以外 不变

解题思路:

  1. 将str内小写字母更换为大写(此题条件均无小写)
  2. 由上列表可得出,Unicode在何区间需要做出调整,是+13,还是-13,还是不变?
  3. String.charCodeAt() 将字符变换为Unicode;
  4. String.fromCharCode(num) 将unicode还原为字符
  5. 建立for循环
  6. Arr.join("") 将数组集合为字符串;
答案:
function rot13(str) { // LBH QVQ VG!
  arr = str.toUpperCase().split(""); // to upper case of str,and split str to a array - arr;
  var Arr =[];
  var newstr = "";
  var num=0;

  
  for(var i=0;i
另外一种解答:
function rot13(str) { // LBH QVQ VG!
  var arr=str.toUpperCase().split("");
  var Arr=[];
  
  for(var i=0;i

你可能感兴趣的:(#268 Caesars Cipher)