求 C# 【算法】 【123 变为 321】

ONE-PIECE 2013-06-28 11:07:43
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】


...全文
601 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
mnxm 2013-07-01
  • 打赏
  • 举报
回复

        static int Reverse(int num)
        {
            int dest_num = 0;
            while(num > 0)
            {
                dest_num *= 10;
                dest_num += (num % 10);
                num /= 10;
            }
            return dest_num;
        }
完美算法 2013-07-01
  • 打赏
  • 举报
回复
引用 16 楼 Mark_ZYW 的回复:
不允许转化为字符串

if(a==123) return 321
完美算法 2013-07-01
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
满足楼主要求 +20
zorou_fatal 2013-06-30
  • 打赏
  • 举报
回复
Try stack.
geass 2013-06-30
  • 打赏
  • 举报
回复
由于电脑没有装 VS,只有 EditPlus 只能用大概写下。用 js 测试过。

<script>
	var a = 123456789;
	var count = 0;
	var array = [];
	var result = 0;
	while (a / 10 > 1)
	{
		c = a % 10;
		a = a / 10;
		array[count] = parseInt(c);
		count++
	}
	array[count] = parseInt(a % 10);
    for (var i = 0; i < array.length; i++)
    {
		var power = array.length - 1  - i;		
		result += array[i] * Math.pow(10,power)
    }
	alert(result);
  </script>

public int Reverse(int num)
{
	if (num <= 10)
	{
		return 0;
	}
	int count = 0;
	List<int> array = new List<int>();
	int result = 0;
	while (num / 10 > 1)
	{
		int c = num % 10;
		num = num / 10;
		array[count] = c;
		count++
	}
	array[count] = num % 10;
	for (var i = 0; i < array.Count; i++)
	{
		int power = array.length - 1 - i;		
		result += array[i] * Math.Pow(10,power)
	}
	return result;
}
ONE-PIECE 2013-06-30
  • 打赏
  • 举报
回复
不允许转化为字符串
Conmajia 2013-06-29
  • 打赏
  • 举报
回复
引用 11 楼 xfyxq 的回复:
[quote=引用 1 楼 sp1234 的回复:] if(a=="123") return "321";
从算法上来说,这个算法是最快的。[/quote]==帮你做了多少事?
Conmajia 2013-06-29
  • 打赏
  • 举报
回复
return "123".Reverse();
m_obj 2013-06-29
  • 打赏
  • 举报
回复
String.Reverse 倒序
xfyxq 2013-06-29
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
从算法上来说,这个算法是最快的。
  • 打赏
  • 举报
回复
其实很具体的编程技术也许不重要,重要地首先是你采取什么工程思想。
  • 打赏
  • 举报
回复
感觉到“晕”的人,一定没有了解过极限编程技术。我建议找两本Kent Beck在十年前的书看看(最近5年他的著作明显变烂了)
wid999 2013-06-29
  • 打赏
  • 举报
回复
最二简单的算法: 把第一个Char和第三个Char互换下。 第一简单的是sp的算法
wonkju 2013-06-29
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
我晕...
threenewbee 2013-06-28
  • 打赏
  • 举报
回复
string s = "123"; s = new string(s.Reverse().ToArray());
vo__ov 2013-06-28
  • 打赏
  • 举报
回复
引用 4 楼 u011130289 的回复:
[quote=引用 1 楼 sp1234 的回复:] if(a=="123") return "321";
真为神算法[/quote] 好有喜感~
Regan-lin 2013-06-28
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
真为神算法
Regan-lin 2013-06-28
  • 打赏
  • 举报
回复
用数组装了倒回来读!
q107770540 2013-06-28
  • 打赏
  • 举报
回复
如果没猜错的话,这应该是楼主的面试题,字符串倒置 有时我在面试别人时,也喜欢问这个
  • 打赏
  • 举报
回复
if(a=="123") return "321";

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧