@@ -89,16 +89,14 @@ class Solution {
89
89
int n;
90
90
long long M, C, val;
91
91
void callme (long long cur, TreeNode* root){
92
-
93
92
if (root == NULL || found)
94
93
return ;
95
94
96
- if (( int ) vec.size ()-n >= 0 ){
97
- cur = (cur-C*( long long ) vec[vec.size ()-n])%M;
95
+ if (vec.size () >= n ){
96
+ cur = (cur-C*vec[vec.size ()-n])%M;
98
97
cur = (cur+M)%M;
99
98
}
100
-
101
- cur = (cur*10ll + (long long )root->val )%M;
99
+ cur = (cur*10ll + root->val )%M;
102
100
103
101
vec.push_back (root->val );
104
102
if (cur == val && vec.size () >= n)
@@ -111,16 +109,11 @@ class Solution {
111
109
112
110
long long poww (int k){
113
111
if (k == 0 ) return 1ll ;
114
- if (k == 1 ) return 10ll ;
115
- long long tmp;
116
- if ( (k&1 ) == 0 ){
117
- tmp = poww (k>>1 );
118
- return (tmp*tmp)%M;
119
- }
120
-
121
- tmp = poww ((k-1 )>>1 );
112
+ long long tmp = poww (k>>1 );
122
113
tmp = (tmp*tmp)%M;
123
- return (tmp*10ll )%M;
114
+ if (k&1 )
115
+ return (tmp*10ll )%M;
116
+ return tmp;
124
117
}
125
118
126
119
bool isSubPath (ListNode* head, TreeNode* root) {
0 commit comments