LeetCode 202.快乐数
LeetCode 202.快乐数 C++
思路:
用快慢指针来进行解答,可以将其看做一个回环链表,慢指针完成一次平方和操作,快指针完成两次平方和操作,当快慢指针相遇时,判断快慢指针是否为1(为1以后无论怎么取平方和都会为1),如果为1就是快乐数,否则不是。
代码:
class Solution { public: int Pow(int n) //求平方和函数 { int a = 0; while(n) { a += pow(n % 10, 2); n /= 10; } return a; } bool isHappy(int n) { int slow = n; int fast = n; do { slow = Pow(slow); fast = Pow(fast); fast = Pow(fast); } while(slow != fast); if(slow == 1) //有一个等于1就是快乐数 return true; else return false; } };
原文地址:https://blog.csdn.net/m0_63816268/article/details/143026716
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!