From b9f8170f0db56d28779d5f342b477ef4191778b5 Mon Sep 17 00:00:00 2001 From: mcnwork2018 Date: Thu, 25 Oct 2018 14:57:22 +0800 Subject: [PATCH 1/5] Update solution 007 solution.js [JavaScript] --- solution/007.Reverse Integer/Solution.js | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 solution/007.Reverse Integer/Solution.js diff --git a/solution/007.Reverse Integer/Solution.js b/solution/007.Reverse Integer/Solution.js new file mode 100644 index 0000000000000..9a96ada07ea1b --- /dev/null +++ b/solution/007.Reverse Integer/Solution.js @@ -0,0 +1,33 @@ +/** + * @param {number} x + * @return {number} + */ + +/** + * First Way:将数字转化为字符串的处理 + */ +var reverse = function(x) { + const min = -Math.pow(2,31),max = Math.pow(2,31) - 1; + let sign = 1; + if(x < 0){ + sign = -sign; + x = sign * x; + } + let a = x.toString(); + let len = a.length,b=''; + for(let i = len - 1;i >= 0;i--)b+=a[i]; + b = sign * Number(b); + if(b > max || b < min) return 0; + return b; +}; +/** + * Second Way: 弹出和推入数字 + */ +let reverse = function(x) { + let res = 0; + while (x !== 0) { + res = res * 10 + x % 10; + x = x < 0 ? Math.ceil(x / 10) : Math.floor(x / 10); + } + return res < -(2**31) || res > 2**31 - 1 ? 0 : res; +}; \ No newline at end of file From dfa1a76ffebfa9e01feb9e1504e64c4c9208dc70 Mon Sep 17 00:00:00 2001 From: mcnwork2018 Date: Thu, 25 Oct 2018 15:10:17 +0800 Subject: [PATCH 2/5] modify 18 line 'b+=a[i]' to 'b += a[i]' --- solution/007.Reverse Integer/Solution.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/007.Reverse Integer/Solution.js b/solution/007.Reverse Integer/Solution.js index 9a96ada07ea1b..cdc4bb4a2e1c9 100644 --- a/solution/007.Reverse Integer/Solution.js +++ b/solution/007.Reverse Integer/Solution.js @@ -15,7 +15,7 @@ var reverse = function(x) { } let a = x.toString(); let len = a.length,b=''; - for(let i = len - 1;i >= 0;i--)b+=a[i]; + for(let i = len - 1;i >= 0;i--)b += a[i]; b = sign * Number(b); if(b > max || b < min) return 0; return b; From 592285065f8d073dc49060d3c1e67a9540749fea Mon Sep 17 00:00:00 2001 From: mcnwork2018 Date: Thu, 25 Oct 2018 16:20:08 +0800 Subject: [PATCH 3/5] rename solution 007 solution.js to solution[mcn].js --- solution/007.Reverse Integer/{Solution.js => Solution[mcn].js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename solution/007.Reverse Integer/{Solution.js => Solution[mcn].js} (100%) diff --git a/solution/007.Reverse Integer/Solution.js b/solution/007.Reverse Integer/Solution[mcn].js similarity index 100% rename from solution/007.Reverse Integer/Solution.js rename to solution/007.Reverse Integer/Solution[mcn].js From 6cf2dd424e301d870390925cd4091575361823d3 Mon Sep 17 00:00:00 2001 From: mcnwork2018 Date: Thu, 25 Oct 2018 16:31:42 +0800 Subject: [PATCH 4/5] Update solution 007 solution.js --- solution/007.Reverse Integer/Solution.js | 38 +++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/solution/007.Reverse Integer/Solution.js b/solution/007.Reverse Integer/Solution.js index a7f5626e0e0a1..2c2acac2bfb25 100644 --- a/solution/007.Reverse Integer/Solution.js +++ b/solution/007.Reverse Integer/Solution.js @@ -1,3 +1,7 @@ +/** + * @param {number} x + * @return {number} + */ const reverse1 = function(x){ let s = String(x); let isNegative = false; @@ -12,4 +16,36 @@ const reverse = function(x){ let result = parseInt(x.toString().split('').reverse().join('')); if(result > Math.pow(2,31) - 1 || -result < Math.pow(-2,31)) return 0; return x > 0 ? result: -result; -} \ No newline at end of file +} +/** + * author:mcn date:2018/10/25 + */ + +/** + * First Way:将数字转化为字符串的处理 + */ +var reverse = function(x) { + const min = -Math.pow(2,31),max = Math.pow(2,31) - 1; + let sign = 1; + if(x < 0){ + sign = -sign; + x = sign * x; + } + let a = x.toString(); + let len = a.length,b=''; + for(let i = len - 1;i >= 0;i--)b += a[i]; + b = sign * Number(b); + if(b > max || b < min) return 0; + return b; +}; +/** + * Second Way: 弹出和推入数字 + */ +let reverse = function(x) { + let res = 0; + while (x !== 0) { + res = res * 10 + x % 10; + x = x < 0 ? Math.ceil(x / 10) : Math.floor(x / 10); + } + return res < -(2**31) || res > 2**31 - 1 ? 0 : res; +}; \ No newline at end of file From 5ac087b1a3e77823cc0dd5f149040ce532db162e Mon Sep 17 00:00:00 2001 From: mcnwork2018 Date: Thu, 25 Oct 2018 16:45:57 +0800 Subject: [PATCH 5/5] delete solution 007 Solution[mcn].js --- solution/007.Reverse Integer/Solution[mcn].js | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 solution/007.Reverse Integer/Solution[mcn].js diff --git a/solution/007.Reverse Integer/Solution[mcn].js b/solution/007.Reverse Integer/Solution[mcn].js deleted file mode 100644 index cdc4bb4a2e1c9..0000000000000 --- a/solution/007.Reverse Integer/Solution[mcn].js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @param {number} x - * @return {number} - */ - -/** - * First Way:将数字转化为字符串的处理 - */ -var reverse = function(x) { - const min = -Math.pow(2,31),max = Math.pow(2,31) - 1; - let sign = 1; - if(x < 0){ - sign = -sign; - x = sign * x; - } - let a = x.toString(); - let len = a.length,b=''; - for(let i = len - 1;i >= 0;i--)b += a[i]; - b = sign * Number(b); - if(b > max || b < min) return 0; - return b; -}; -/** - * Second Way: 弹出和推入数字 - */ -let reverse = function(x) { - let res = 0; - while (x !== 0) { - res = res * 10 + x % 10; - x = x < 0 ? Math.ceil(x / 10) : Math.floor(x / 10); - } - return res < -(2**31) || res > 2**31 - 1 ? 0 : res; -}; \ No newline at end of file