diff --git a/P007-Reverse-Integer/P007-Reverse-Integer.sln b/P007-Reverse-Integer/P007-Reverse-Integer.sln
new file mode 100644
index 0000000..39537b7
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "P007-Reverse-Integer", "P007-Reverse-Integer\P007-Reverse-Integer.csproj", "{26DB4FF1-0B60-403B-9381-A24B06B4A2DD}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {26DB4FF1-0B60-403B-9381-A24B06B4A2DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {26DB4FF1-0B60-403B-9381-A24B06B4A2DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {26DB4FF1-0B60-403B-9381-A24B06B4A2DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {26DB4FF1-0B60-403B-9381-A24B06B4A2DD}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/P007-Reverse-Integer/P007-Reverse-Integer/App.config b/P007-Reverse-Integer/P007-Reverse-Integer/App.config
new file mode 100644
index 0000000..88fa402
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/P007-Reverse-Integer/P007-Reverse-Integer/P007-Reverse-Integer.csproj b/P007-Reverse-Integer/P007-Reverse-Integer/P007-Reverse-Integer.csproj
new file mode 100644
index 0000000..47276f9
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer/P007-Reverse-Integer.csproj
@@ -0,0 +1,61 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {26DB4FF1-0B60-403B-9381-A24B06B4A2DD}
+ Exe
+ Properties
+ P007_Reverse_Integer
+ P007-Reverse-Integer
+ v4.5.2
+ 512
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/P007-Reverse-Integer/P007-Reverse-Integer/Program.cs b/P007-Reverse-Integer/P007-Reverse-Integer/Program.cs
new file mode 100644
index 0000000..98ccee2
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer/Program.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace P007_Reverse_Integer
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ var solution = new Solution();
+
+ Console.WriteLine(solution.Reverse(-123)); // -321
+ Console.WriteLine(solution.Reverse(-456)); // -654
+ Console.WriteLine(solution.Reverse(123456)); // 654321
+ Console.WriteLine(solution.Reverse(-2147483648)); // 0
+
+ Console.ReadLine();
+ }
+ }
+}
diff --git a/P007-Reverse-Integer/P007-Reverse-Integer/Properties/AssemblyInfo.cs b/P007-Reverse-Integer/P007-Reverse-Integer/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f8740ba
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("P007-Reverse-Integer")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Xeon Productions")]
+[assembly: AssemblyProduct("P007-Reverse-Integer")]
+[assembly: AssemblyCopyright("Copyright © Xeon Productions 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("26db4ff1-0b60-403b-9381-a24b06b4a2dd")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/P007-Reverse-Integer/P007-Reverse-Integer/Solution.cs b/P007-Reverse-Integer/P007-Reverse-Integer/Solution.cs
new file mode 100644
index 0000000..ddf0516
--- /dev/null
+++ b/P007-Reverse-Integer/P007-Reverse-Integer/Solution.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace P007_Reverse_Integer
+{
+ class Solution
+ {
+ /*
+ * 1032 / 1032 test cases passed.
+ * Status: Accepted
+ * Runtime: 82 ms
+ */
+ public int Reverse(int x)
+ {
+ long temp = Math.Abs((long)x), carry = 0;
+ long output = 0;
+ int digits = (int)Math.Floor(Math.Log10(temp) + 1);
+
+ while (temp > 0)
+ {
+ carry = temp % 10;
+ temp = temp / 10;
+ output = output + (long)Math.Pow(10, --digits) * carry;
+ }
+
+ return x > 0 ? (output > int.MaxValue ? 0 : (int)output) : (-output < int.MinValue ? 0 : (int)-output);
+ }
+ }
+}