题目缘由:
准备工作:
1.需要一个二叉树的数据结构 js版的,我准本用用数组表示,如下
var arr=[];//存放着对应的字符
字符$=>arr[0],$0=>arr[1],$1=>arr[2],$00=>arr[3],$01=>arr[4],$10=>arr[5],$11=>arr[6],
总结上面的规律,我需要做的是把一个二进制的数字,转化成10进制
function trans(strNum){
if(arguments.length==0){return 0;}
var num=0;
for(var i=0;i<strNum.length;i++){
num+=Math.pow(2,+strNum[i]+strNum.length-i-1)
}
return num;
}
trans()=>0,trans("0")=>1,trans("1")=>2,trans("00")=>3,trans("01")=>4,trans("10")=>5,trans("11")=>6
2.对加密后的字符进行解码,将对应的编码转化成对应的字符
var arr=[];//存放着对应的字符
var newstr=str.replace(/\$(\d*)/g,function(m,p1){
return arr[trans(p1)];
})
newstr就是解码后的字符
未完待续!
时间: 2024-10-09 03:20:01