diff --git a/README.md b/README.md
index 7dbf4b2..b2b961e 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
| # | Title | Solution | Difficulty |
|---| ----- | -------- | ---------- |
+|693|[Binary Number with Alternating Bits](https://leetcode.com/problems/binary-number-with-alternating-bits)|[JavaScript](./algorithms/BinaryNumberWithAlternatingBits.js)|Easy|
|682|[Baseball Game](https://leetcode.com/problems/baseball-game)|[JavaScript](algorithms/BaseballGame.js)|Easy|
|680|[Valid Palindrome II](https://leetcode.com/problems/valid-palindrome-ii)|[JavaScript](./algorithms/ValidPalindrome_II.js)|Easy|
|678|[Valid Parenthesis String](https://leetcode.com/problems/valid-parenthesis-string)|[JavaScript](./algorithms/ValidParenthesisString.js)|Medium|
diff --git a/algorithms/BinaryNumberWithAlternatingBits.js b/algorithms/BinaryNumberWithAlternatingBits.js
new file mode 100644
index 0000000..7d7a2ea
--- /dev/null
+++ b/algorithms/BinaryNumberWithAlternatingBits.js
@@ -0,0 +1,43 @@
+// Source : https://leetcode.com/problems/binary-number-with-alternating-bits
+// Author : Dean Shi
+// Date : 2017-10-09
+
+/***************************************************************************************
+ *
+ * Given a positive integer, check whether it has alternating bits: namely, if
+ * two adjacent bits will always have different values.
+ *
+ * Example 1:
+ * Input: 5
+ * Output: True
+ * Explanation:
+ * The binary representation of 5 is: 101
+ *
+ * Example 2:
+ * Input: 7
+ * Output: False
+ * Explanation:
+ * The binary representation of 7 is: 111.
+ *
+ * Example 3:
+ * Input: 11
+ * Output: False
+ * Explanation:
+ * The binary representation of 11 is: 1011.
+ *
+ * Example 4:
+ * Input: 10
+ * Output: True
+ * Explanation:
+ * The binary representation of 10 is: 1010.
+ *
+ ***************************************************************************************/
+
+/**
+ * @param {number} n
+ * @return {boolean}
+ */
+var hasAlternatingBits = function(n) {
+ const m = n + (n >> 1) + 1
+ return (m & (m - 1)) === 0
+};
\ No newline at end of file