面試題吐槽系列之一

問題

「遞歸反轉棧——只使用常數量個變量」,這個問題就這一句話python

解答

咱們要反轉一個棧,若是使用另一個棧做爲輔助的話,那麼反轉起來很簡單,一個接一個push到輔助棧裏再push回來就好了。那麼假如不能使用輔助棧,數組等空間爲O(n)的數據結構,只使用O(1)的空間複雜度即只能有常數個變量,怎麼實現將棧反轉?即原來的棧頂在棧底,棧底變成棧頂。linux

畫圖表示大概是這樣的:面試

  • 首先假設棧裏面從棧底到棧頂存儲的依次是 1 2 3 4 5,咱們反轉之後但願獲得的結果是 5 4 3 2 1.
  • 第一步pop出來第一個數5,存到temp1中,此時的棧中由下到上是1 2 3 4。
  • 遞歸調用自身,不用考慮具體的過程,咱們只須要知道這個遞歸調用結束後獲得的結果是使棧中的元素變成了由下到上 4 3 2 1(由於這個函數自己的意思就是反轉棧)。
  • 此時pop出來第二個數1 ,存到temp2中,此時的棧中由下到上是 4 3 2。
  • 再遞歸調用自己,抽象考慮這個遞歸完成後獲得的結果是棧中的值變成了 2 3 4。
  • 接着咱們把push(temp1),棧變成了 2 3 4 5。
  • 接着遞歸調用自己,遞歸完成後棧變成了 5 4 3 2。
  • 接着push(temp2)。好了,棧變成了 5 4 3 2 1,反轉完成!

=====================華麗的分割線=============================windows

吐槽

以上的解答過程摘抄自某博客,這個問題是面試常常遇到的問題。首先來看解答過程是正常的,面試官也是但願看你這樣回答。下面咱們來詳細的分析一下這個問題,問題其實就是棧的反轉,或者叫棧的逆制,不過要求是O(1),也就是常量級別的空間複雜度,這個O(1)如何理解呢,若是棧的長度是N那麼這個用的空間要遠小N,不然就不能說是O(1),那TM叫,N/2或N/3,亦或N/M(M << N)。假設,若是棧大小爲100,那麼這個多餘的空間用1,2甚至10個都是沒有問題。數組

下面是我用python實現了一遍上面的邏輯,代碼以下:數據結構

 

 1 import copy  2 
 3 
 4 class my_stack(object):  5   def __init__(self, num_list):  6     self.stack = copy.deepcopy(num_list)  7 
 8   def stack_print(self):  9     print self.stack 10 
11   def stack_pop(self): 12     if len(self.stack) > 0: 13       return self.stack.pop(len(self.stack) - 1) 14     else: 15       return None 16 
17   def stack_push(self, data): 18  self.stack.append(data) 19 
20   def stack_empty(self): 21     if len(self.stack) <= 0: 22       return True 23     else: 24       return False 25 
26 
27 def reverse_stack(stack, i, j): 28   if stack.stack_empty() is True: 29     i -= 1
30     j -= 1
31     return
32 
33   tmp = stack.stack_pop() 34  reverse_stack(stack, i, j) 35   i += 1
36   print 'first variable new count:' + str(i) + '\t address:' + hex(id(tmp)) 37   if stack.stack_empty() is True: 38  stack.stack_push(tmp) 39     return
40 
41   tmp2 = stack.stack_pop() 42   j += 1
43   print 'second variable new count:' + str(j) + '\t address:' + hex(id(tmp2)) 44 
45  reverse_stack(stack, i, j) 46  stack.stack_push(tmp) 47  reverse_stack(stack, i, j) 48  stack.stack_push(tmp2) 49 
50 if __name__ == "__main__": 51   tmp_stack = my_stack([1, 2, 3, 5, 6, 7, 8, 9]) 52 
53  reverse_stack(tmp_stack, 0, 0) 54   tmp_stack.stack_print()

 

執行完的結果爲(結果較大謹慎展開):app

 

 1 first variable new count:1     address:0x1d979a8L
 2 first variable new count:1     address:0x1d97990L
 3 second variable new count:1     address:0x1d979a8L
 4 first variable new count:2     address:0x1d97990L
 5 first variable new count:1     address:0x1d97978L
 6 second variable new count:1     address:0x1d979a8L
 7 first variable new count:2     address:0x1d97990L
 8 first variable new count:2     address:0x1d97990L
 9 first variable new count:2     address:0x1d97978L
 10 second variable new count:2     address:0x1d97990L
 11 first variable new count:3     address:0x1d97978L
 12 first variable new count:1     address:0x1d97948L
 13 second variable new count:1     address:0x1d979a8L
 14 first variable new count:2     address:0x1d97978L
 15 first variable new count:2     address:0x1d97990L
 16 second variable new count:2     address:0x1d97978L
 17 first variable new count:3     address:0x1d97990L
 18 first variable new count:2     address:0x1d97990L
 19 first variable new count:2     address:0x1d97978L
 20 second variable new count:2     address:0x1d97990L
 21 first variable new count:3     address:0x1d97978L
 22 first variable new count:2     address:0x1d97948L
 23 second variable new count:2     address:0x1d97990L
 24 first variable new count:3     address:0x1d97978L
 25 first variable new count:3     address:0x1d97978L
 26 first variable new count:3     address:0x1d97948L
 27 second variable new count:3     address:0x1d97978L
 28 first variable new count:4     address:0x1d97948L
 29 first variable new count:1     address:0x1d97930L
 30 second variable new count:1     address:0x1d979a8L
 31 first variable new count:2     address:0x1d97948L
 32 first variable new count:2     address:0x1d97978L
 33 second variable new count:2     address:0x1d97948L
 34 first variable new count:3     address:0x1d97978L
 35 first variable new count:2     address:0x1d97990L
 36 second variable new count:2     address:0x1d97948L
 37 first variable new count:3     address:0x1d97978L
 38 first variable new count:3     address:0x1d97978L
 39 first variable new count:3     address:0x1d97990L
 40 second variable new count:3     address:0x1d97978L
 41 first variable new count:4     address:0x1d97990L
 42 first variable new count:2     address:0x1d97990L
 43 first variable new count:2     address:0x1d97978L
 44 second variable new count:2     address:0x1d97990L
 45 first variable new count:3     address:0x1d97978L
 46 first variable new count:2     address:0x1d97948L
 47 second variable new count:2     address:0x1d97990L
 48 first variable new count:3     address:0x1d97978L
 49 first variable new count:3     address:0x1d97978L
 50 first variable new count:3     address:0x1d97948L
 51 second variable new count:3     address:0x1d97978L
 52 first variable new count:4     address:0x1d97948L
 53 first variable new count:2     address:0x1d97930L
 54 second variable new count:2     address:0x1d97990L
 55 first variable new count:3     address:0x1d97948L
 56 first variable new count:3     address:0x1d97978L
 57 second variable new count:3     address:0x1d97948L
 58 first variable new count:4     address:0x1d97978L
 59 first variable new count:3     address:0x1d97978L
 60 first variable new count:3     address:0x1d97948L
 61 second variable new count:3     address:0x1d97978L
 62 first variable new count:4     address:0x1d97948L
 63 first variable new count:3     address:0x1d97930L
 64 second variable new count:3     address:0x1d97978L
 65 first variable new count:4     address:0x1d97948L
 66 first variable new count:4     address:0x1d97948L
 67 first variable new count:4     address:0x1d97930L
 68 second variable new count:4     address:0x1d97948L
 69 first variable new count:5     address:0x1d97930L
 70 first variable new count:1     address:0x1d97918L
 71 second variable new count:1     address:0x1d979a8L
 72 first variable new count:2     address:0x1d97930L
 73 first variable new count:2     address:0x1d97948L
 74 second variable new count:2     address:0x1d97930L
 75 first variable new count:3     address:0x1d97948L
 76 first variable new count:2     address:0x1d97978L
 77 second variable new count:2     address:0x1d97930L
 78 first variable new count:3     address:0x1d97948L
 79 first variable new count:3     address:0x1d97948L
 80 first variable new count:3     address:0x1d97978L
 81 second variable new count:3     address:0x1d97948L
 82 first variable new count:4     address:0x1d97978L
 83 first variable new count:2     address:0x1d97990L
 84 second variable new count:2     address:0x1d97930L
 85 first variable new count:3     address:0x1d97978L
 86 first variable new count:3     address:0x1d97948L
 87 second variable new count:3     address:0x1d97978L
 88 first variable new count:4     address:0x1d97948L
 89 first variable new count:3     address:0x1d97948L
 90 first variable new count:3     address:0x1d97978L
 91 second variable new count:3     address:0x1d97948L
 92 first variable new count:4     address:0x1d97978L
 93 first variable new count:3     address:0x1d97990L
 94 second variable new count:3     address:0x1d97948L
 95 first variable new count:4     address:0x1d97978L
 96 first variable new count:4     address:0x1d97978L
 97 first variable new count:4     address:0x1d97990L
 98 second variable new count:4     address:0x1d97978L
 99 first variable new count:5     address:0x1d97990L
100 first variable new count:2     address:0x1d97990L
101 first variable new count:2     address:0x1d97978L
102 second variable new count:2     address:0x1d97990L
103 first variable new count:3     address:0x1d97978L
104 first variable new count:2     address:0x1d97948L
105 second variable new count:2     address:0x1d97990L
106 first variable new count:3     address:0x1d97978L
107 first variable new count:3     address:0x1d97978L
108 first variable new count:3     address:0x1d97948L
109 second variable new count:3     address:0x1d97978L
110 first variable new count:4     address:0x1d97948L
111 first variable new count:2     address:0x1d97930L
112 second variable new count:2     address:0x1d97990L
113 first variable new count:3     address:0x1d97948L
114 first variable new count:3     address:0x1d97978L
115 second variable new count:3     address:0x1d97948L
116 first variable new count:4     address:0x1d97978L
117 first variable new count:3     address:0x1d97978L
118 first variable new count:3     address:0x1d97948L
119 second variable new count:3     address:0x1d97978L
120 first variable new count:4     address:0x1d97948L
121 first variable new count:3     address:0x1d97930L
122 second variable new count:3     address:0x1d97978L
123 first variable new count:4     address:0x1d97948L
124 first variable new count:4     address:0x1d97948L
125 first variable new count:4     address:0x1d97930L
126 second variable new count:4     address:0x1d97948L
127 first variable new count:5     address:0x1d97930L
128 first variable new count:2     address:0x1d97918L
129 second variable new count:2     address:0x1d97990L
130 first variable new count:3     address:0x1d97930L
131 first variable new count:3     address:0x1d97948L
132 second variable new count:3     address:0x1d97930L
133 first variable new count:4     address:0x1d97948L
134 first variable new count:3     address:0x1d97978L
135 second variable new count:3     address:0x1d97930L
136 first variable new count:4     address:0x1d97948L
137 first variable new count:4     address:0x1d97948L
138 first variable new count:4     address:0x1d97978L
139 second variable new count:4     address:0x1d97948L
140 first variable new count:5     address:0x1d97978L
141 first variable new count:3     address:0x1d97978L
142 first variable new count:3     address:0x1d97948L
143 second variable new count:3     address:0x1d97978L
144 first variable new count:4     address:0x1d97948L
145 first variable new count:3     address:0x1d97930L
146 second variable new count:3     address:0x1d97978L
147 first variable new count:4     address:0x1d97948L
148 first variable new count:4     address:0x1d97948L
149 first variable new count:4     address:0x1d97930L
150 second variable new count:4     address:0x1d97948L
151 first variable new count:5     address:0x1d97930L
152 first variable new count:3     address:0x1d97918L
153 second variable new count:3     address:0x1d97978L
154 first variable new count:4     address:0x1d97930L
155 first variable new count:4     address:0x1d97948L
156 second variable new count:4     address:0x1d97930L
157 first variable new count:5     address:0x1d97948L
158 first variable new count:4     address:0x1d97948L
159 first variable new count:4     address:0x1d97930L
160 second variable new count:4     address:0x1d97948L
161 first variable new count:5     address:0x1d97930L
162 first variable new count:4     address:0x1d97918L
163 second variable new count:4     address:0x1d97948L
164 first variable new count:5     address:0x1d97930L
165 first variable new count:5     address:0x1d97930L
166 first variable new count:5     address:0x1d97918L
167 second variable new count:5     address:0x1d97930L
168 first variable new count:6     address:0x1d97918L
169 first variable new count:1     address:0x1d97900L
170 second variable new count:1     address:0x1d979a8L
171 first variable new count:2     address:0x1d97918L
172 first variable new count:2     address:0x1d97930L
173 second variable new count:2     address:0x1d97918L
174 first variable new count:3     address:0x1d97930L
175 first variable new count:2     address:0x1d97948L
176 second variable new count:2     address:0x1d97918L
177 first variable new count:3     address:0x1d97930L
178 first variable new count:3     address:0x1d97930L
179 first variable new count:3     address:0x1d97948L
180 second variable new count:3     address:0x1d97930L
181 first variable new count:4     address:0x1d97948L
182 first variable new count:2     address:0x1d97978L
183 second variable new count:2     address:0x1d97918L
184 first variable new count:3     address:0x1d97948L
185 first variable new count:3     address:0x1d97930L
186 second variable new count:3     address:0x1d97948L
187 first variable new count:4     address:0x1d97930L
188 first variable new count:3     address:0x1d97930L
189 first variable new count:3     address:0x1d97948L
190 second variable new count:3     address:0x1d97930L
191 first variable new count:4     address:0x1d97948L
192 first variable new count:3     address:0x1d97978L
193 second variable new count:3     address:0x1d97930L
194 first variable new count:4     address:0x1d97948L
195 first variable new count:4     address:0x1d97948L
196 first variable new count:4     address:0x1d97978L
197 second variable new count:4     address:0x1d97948L
198 first variable new count:5     address:0x1d97978L
199 first variable new count:2     address:0x1d97990L
200 second variable new count:2     address:0x1d97918L
201 first variable new count:3     address:0x1d97978L
202 first variable new count:3     address:0x1d97948L
203 second variable new count:3     address:0x1d97978L
204 first variable new count:4     address:0x1d97948L
205 first variable new count:3     address:0x1d97930L
206 second variable new count:3     address:0x1d97978L
207 first variable new count:4     address:0x1d97948L
208 first variable new count:4     address:0x1d97948L
209 first variable new count:4     address:0x1d97930L
210 second variable new count:4     address:0x1d97948L
211 first variable new count:5     address:0x1d97930L
212 first variable new count:3     address:0x1d97930L
213 first variable new count:3     address:0x1d97948L
214 second variable new count:3     address:0x1d97930L
215 first variable new count:4     address:0x1d97948L
216 first variable new count:3     address:0x1d97978L
217 second variable new count:3     address:0x1d97930L
218 first variable new count:4     address:0x1d97948L
219 first variable new count:4     address:0x1d97948L
220 first variable new count:4     address:0x1d97978L
221 second variable new count:4     address:0x1d97948L
222 first variable new count:5     address:0x1d97978L
223 first variable new count:3     address:0x1d97990L
224 second variable new count:3     address:0x1d97930L
225 first variable new count:4     address:0x1d97978L
226 first variable new count:4     address:0x1d97948L
227 second variable new count:4     address:0x1d97978L
228 first variable new count:5     address:0x1d97948L
229 first variable new count:4     address:0x1d97948L
230 first variable new count:4     address:0x1d97978L
231 second variable new count:4     address:0x1d97948L
232 first variable new count:5     address:0x1d97978L
233 first variable new count:4     address:0x1d97990L
234 second variable new count:4     address:0x1d97948L
235 first variable new count:5     address:0x1d97978L
236 first variable new count:5     address:0x1d97978L
237 first variable new count:5     address:0x1d97990L
238 second variable new count:5     address:0x1d97978L
239 first variable new count:6     address:0x1d97990L
240 first variable new count:2     address:0x1d97990L
241 first variable new count:2     address:0x1d97978L
242 second variable new count:2     address:0x1d97990L
243 first variable new count:3     address:0x1d97978L
244 first variable new count:2     address:0x1d97948L
245 second variable new count:2     address:0x1d97990L
246 first variable new count:3     address:0x1d97978L
247 first variable new count:3     address:0x1d97978L
248 first variable new count:3     address:0x1d97948L
249 second variable new count:3     address:0x1d97978L
250 first variable new count:4     address:0x1d97948L
251 first variable new count:2     address:0x1d97930L
252 second variable new count:2     address:0x1d97990L
253 first variable new count:3     address:0x1d97948L
254 first variable new count:3     address:0x1d97978L
255 second variable new count:3     address:0x1d97948L
256 first variable new count:4     address:0x1d97978L
257 first variable new count:3     address:0x1d97978L
258 first variable new count:3     address:0x1d97948L
259 second variable new count:3     address:0x1d97978L
260 first variable new count:4     address:0x1d97948L
261 first variable new count:3     address:0x1d97930L
262 second variable new count:3     address:0x1d97978L
263 first variable new count:4     address:0x1d97948L
264 first variable new count:4     address:0x1d97948L
265 first variable new count:4     address:0x1d97930L
266 second variable new count:4     address:0x1d97948L
267 first variable new count:5     address:0x1d97930L
268 first variable new count:2     address:0x1d97918L
269 second variable new count:2     address:0x1d97990L
270 first variable new count:3     address:0x1d97930L
271 first variable new count:3     address:0x1d97948L
272 second variable new count:3     address:0x1d97930L
273 first variable new count:4     address:0x1d97948L
274 first variable new count:3     address:0x1d97978L
275 second variable new count:3     address:0x1d97930L
276 first variable new count:4     address:0x1d97948L
277 first variable new count:4     address:0x1d97948L
278 first variable new count:4     address:0x1d97978L
279 second variable new count:4     address:0x1d97948L
280 first variable new count:5     address:0x1d97978L
281 first variable new count:3     address:0x1d97978L
282 first variable new count:3     address:0x1d97948L
283 second variable new count:3     address:0x1d97978L
284 first variable new count:4     address:0x1d97948L
285 first variable new count:3     address:0x1d97930L
286 second variable new count:3     address:0x1d97978L
287 first variable new count:4     address:0x1d97948L
288 first variable new count:4     address:0x1d97948L
289 first variable new count:4     address:0x1d97930L
290 second variable new count:4     address:0x1d97948L
291 first variable new count:5     address:0x1d97930L
292 first variable new count:3     address:0x1d97918L
293 second variable new count:3     address:0x1d97978L
294 first variable new count:4     address:0x1d97930L
295 first variable new count:4     address:0x1d97948L
296 second variable new count:4     address:0x1d97930L
297 first variable new count:5     address:0x1d97948L
298 first variable new count:4     address:0x1d97948L
299 first variable new count:4     address:0x1d97930L
300 second variable new count:4     address:0x1d97948L
301 first variable new count:5     address:0x1d97930L
302 first variable new count:4     address:0x1d97918L
303 second variable new count:4     address:0x1d97948L
304 first variable new count:5     address:0x1d97930L
305 first variable new count:5     address:0x1d97930L
306 first variable new count:5     address:0x1d97918L
307 second variable new count:5     address:0x1d97930L
308 first variable new count:6     address:0x1d97918L
309 first variable new count:2     address:0x1d97900L
310 second variable new count:2     address:0x1d97990L
311 first variable new count:3     address:0x1d97918L
312 first variable new count:3     address:0x1d97930L
313 second variable new count:3     address:0x1d97918L
314 first variable new count:4     address:0x1d97930L
315 first variable new count:3     address:0x1d97948L
316 second variable new count:3     address:0x1d97918L
317 first variable new count:4     address:0x1d97930L
318 first variable new count:4     address:0x1d97930L
319 first variable new count:4     address:0x1d97948L
320 second variable new count:4     address:0x1d97930L
321 first variable new count:5     address:0x1d97948L
322 first variable new count:3     address:0x1d97978L
323 second variable new count:3     address:0x1d97918L
324 first variable new count:4     address:0x1d97948L
325 first variable new count:4     address:0x1d97930L
326 second variable new count:4     address:0x1d97948L
327 first variable new count:5     address:0x1d97930L
328 first variable new count:4     address:0x1d97930L
329 first variable new count:4     address:0x1d97948L
330 second variable new count:4     address:0x1d97930L
331 first variable new count:5     address:0x1d97948L
332 first variable new count:4     address:0x1d97978L
333 second variable new count:4     address:0x1d97930L
334 first variable new count:5     address:0x1d97948L
335 first variable new count:5     address:0x1d97948L
336 first variable new count:5     address:0x1d97978L
337 second variable new count:5     address:0x1d97948L
338 first variable new count:6     address:0x1d97978L
339 first variable new count:3     address:0x1d97978L
340 first variable new count:3     address:0x1d97948L
341 second variable new count:3     address:0x1d97978L
342 first variable new count:4     address:0x1d97948L
343 first variable new count:3     address:0x1d97930L
344 second variable new count:3     address:0x1d97978L
345 first variable new count:4     address:0x1d97948L
346 first variable new count:4     address:0x1d97948L
347 first variable new count:4     address:0x1d97930L
348 second variable new count:4     address:0x1d97948L
349 first variable new count:5     address:0x1d97930L
350 first variable new count:3     address:0x1d97918L
351 second variable new count:3     address:0x1d97978L
352 first variable new count:4     address:0x1d97930L
353 first variable new count:4     address:0x1d97948L
354 second variable new count:4     address:0x1d97930L
355 first variable new count:5     address:0x1d97948L
356 first variable new count:4     address:0x1d97948L
357 first variable new count:4     address:0x1d97930L
358 second variable new count:4     address:0x1d97948L
359 first variable new count:5     address:0x1d97930L
360 first variable new count:4     address:0x1d97918L
361 second variable new count:4     address:0x1d97948L
362 first variable new count:5     address:0x1d97930L
363 first variable new count:5     address:0x1d97930L
364 first variable new count:5     address:0x1d97918L
365 second variable new count:5     address:0x1d97930L
366 first variable new count:6     address:0x1d97918L
367 first variable new count:3     address:0x1d97900L
368 second variable new count:3     address:0x1d97978L
369 first variable new count:4     address:0x1d97918L
370 first variable new count:4     address:0x1d97930L
371 second variable new count:4     address:0x1d97918L
372 first variable new count:5     address:0x1d97930L
373 first variable new count:4     address:0x1d97948L
374 second variable new count:4     address:0x1d97918L
375 first variable new count:5     address:0x1d97930L
376 first variable new count:5     address:0x1d97930L
377 first variable new count:5     address:0x1d97948L
378 second variable new count:5     address:0x1d97930L
379 first variable new count:6     address:0x1d97948L
380 first variable new count:4     address:0x1d97948L
381 first variable new count:4     address:0x1d97930L
382 second variable new count:4     address:0x1d97948L
383 first variable new count:5     address:0x1d97930L
384 first variable new count:4     address:0x1d97918L
385 second variable new count:4     address:0x1d97948L
386 first variable new count:5     address:0x1d97930L
387 first variable new count:5     address:0x1d97930L
388 first variable new count:5     address:0x1d97918L
389 second variable new count:5     address:0x1d97930L
390 first variable new count:6     address:0x1d97918L
391 first variable new count:4     address:0x1d97900L
392 second variable new count:4     address:0x1d97948L
393 first variable new count:5     address:0x1d97918L
394 first variable new count:5     address:0x1d97930L
395 second variable new count:5     address:0x1d97918L
396 first variable new count:6     address:0x1d97930L
397 first variable new count:5     address:0x1d97930L
398 first variable new count:5     address:0x1d97918L
399 second variable new count:5     address:0x1d97930L
400 first variable new count:6     address:0x1d97918L
401 first variable new count:5     address:0x1d97900L
402 second variable new count:5     address:0x1d97930L
403 first variable new count:6     address:0x1d97918L
404 first variable new count:6     address:0x1d97918L
405 first variable new count:6     address:0x1d97900L
406 second variable new count:6     address:0x1d97918L
407 first variable new count:7     address:0x1d97900L
408 first variable new count:1     address:0x1d978e8L
409 second variable new count:1     address:0x1d979a8L
410 first variable new count:2     address:0x1d97900L
411 first variable new count:2     address:0x1d97918L
412 second variable new count:2     address:0x1d97900L
413 first variable new count:3     address:0x1d97918L
414 first variable new count:2     address:0x1d97930L
415 second variable new count:2     address:0x1d97900L
416 first variable new count:3     address:0x1d97918L
417 first variable new count:3     address:0x1d97918L
418 first variable new count:3     address:0x1d97930L
419 second variable new count:3     address:0x1d97918L
420 first variable new count:4     address:0x1d97930L
421 first variable new count:2     address:0x1d97948L
422 second variable new count:2     address:0x1d97900L
423 first variable new count:3     address:0x1d97930L
424 first variable new count:3     address:0x1d97918L
425 second variable new count:3     address:0x1d97930L
426 first variable new count:4     address:0x1d97918L
427 first variable new count:3     address:0x1d97918L
428 first variable new count:3     address:0x1d97930L
429 second variable new count:3     address:0x1d97918L
430 first variable new count:4     address:0x1d97930L
431 first variable new count:3     address:0x1d97948L
432 second variable new count:3     address:0x1d97918L
433 first variable new count:4     address:0x1d97930L
434 first variable new count:4     address:0x1d97930L
435 first variable new count:4     address:0x1d97948L
436 second variable new count:4     address:0x1d97930L
437 first variable new count:5     address:0x1d97948L
438 first variable new count:2     address:0x1d97978L
439 second variable new count:2     address:0x1d97900L
440 first variable new count:3     address:0x1d97948L
441 first variable new count:3     address:0x1d97930L
442 second variable new count:3     address:0x1d97948L
443 first variable new count:4     address:0x1d97930L
444 first variable new count:3     address:0x1d97918L
445 second variable new count:3     address:0x1d97948L
446 first variable new count:4     address:0x1d97930L
447 first variable new count:4     address:0x1d97930L
448 first variable new count:4     address:0x1d97918L
449 second variable new count:4     address:0x1d97930L
450 first variable new count:5     address:0x1d97918L
451 first variable new count:3     address:0x1d97918L
452 first variable new count:3     address:0x1d97930L
453 second variable new count:3     address:0x1d97918L
454 first variable new count:4     address:0x1d97930L
455 first variable new count:3     address:0x1d97948L
456 second variable new count:3     address:0x1d97918L
457 first variable new count:4     address:0x1d97930L
458 first variable new count:4     address:0x1d97930L
459 first variable new count:4     address:0x1d97948L
460 second variable new count:4     address:0x1d97930L
461 first variable new count:5     address:0x1d97948L
462 first variable new count:3     address:0x1d97978L
463 second variable new count:3     address:0x1d97918L
464 first variable new count:4     address:0x1d97948L
465 first variable new count:4     address:0x1d97930L
466 second variable new count:4     address:0x1d97948L
467 first variable new count:5     address:0x1d97930L
468 first variable new count:4     address:0x1d97930L
469 first variable new count:4     address:0x1d97948L
470 second variable new count:4     address:0x1d97930L
471 first variable new count:5     address:0x1d97948L
472 first variable new count:4     address:0x1d97978L
473 second variable new count:4     address:0x1d97930L
474 first variable new count:5     address:0x1d97948L
475 first variable new count:5     address:0x1d97948L
476 first variable new count:5     address:0x1d97978L
477 second variable new count:5     address:0x1d97948L
478 first variable new count:6     address:0x1d97978L
479 first variable new count:2     address:0x1d97990L
480 second variable new count:2     address:0x1d97900L
481 first variable new count:3     address:0x1d97978L
482 first variable new count:3     address:0x1d97948L
483 second variable new count:3     address:0x1d97978L
484 first variable new count:4     address:0x1d97948L
485 first variable new count:3     address:0x1d97930L
486 second variable new count:3     address:0x1d97978L
487 first variable new count:4     address:0x1d97948L
488 first variable new count:4     address:0x1d97948L
489 first variable new count:4     address:0x1d97930L
490 second variable new count:4     address:0x1d97948L
491 first variable new count:5     address:0x1d97930L
492 first variable new count:3     address:0x1d97918L
493 second variable new count:3     address:0x1d97978L
494 first variable new count:4     address:0x1d97930L
495 first variable new count:4     address:0x1d97948L
496 second variable new count:4     address:0x1d97930L
497 first variable new count:5     address:0x1d97948L
498 first variable new count:4     address:0x1d97948L
499 first variable new count:4     address:0x1d97930L
500 second variable new count:4     address:0x1d97948L
501 first variable new count:5     address:0x1d97930L
502 first variable new count:4     address:0x1d97918L
503 second variable new count:4     address:0x1d97948L
504 first variable new count:5     address:0x1d97930L
505 first variable new count:5     address:0x1d97930L
506 first variable new count:5     address:0x1d97918L
507 second variable new count:5     address:0x1d97930L
508 first variable new count:6     address:0x1d97918L
509 first variable new count:3     address:0x1d97918L
510 first variable new count:3     address:0x1d97930L
511 second variable new count:3     address:0x1d97918L
512 first variable new count:4     address:0x1d97930L
513 first variable new count:3     address:0x1d97948L
514 second variable new count:3     address:0x1d97918L
515 first variable new count:4     address:0x1d97930L
516 first variable new count:4     address:0x1d97930L
517 first variable new count:4     address:0x1d97948L
518 second variable new count:4     address:0x1d97930L
519 first variable new count:5     address:0x1d97948L
520 first variable new count:3     address:0x1d97978L
521 second variable new count:3     address:0x1d97918L
522 first variable new count:4     address:0x1d97948L
523 first variable new count:4     address:0x1d97930L
524 second variable new count:4     address:0x1d97948L
525 first variable new count:5     address:0x1d97930L
526 first variable new count:4     address:0x1d97930L
527 first variable new count:4     address:0x1d97948L
528 second variable new count:4     address:0x1d97930L
529 first variable new count:5     address:0x1d97948L
530 first variable new count:4     address:0x1d97978L
531 second variable new count:4     address:0x1d97930L
532 first variable new count:5     address:0x1d97948L
533 first variable new count:5     address:0x1d97948L
534 first variable new count:5     address:0x1d97978L
535 second variable new count:5     address:0x1d97948L
536 first variable new count:6     address:0x1d97978L
537 first variable new count:3     address:0x1d97990L
538 second variable new count:3     address:0x1d97918L
539 first variable new count:4     address:0x1d97978L
540 first variable new count:4     address:0x1d97948L
541 second variable new count:4     address:0x1d97978L
542 first variable new count:5     address:0x1d97948L
543 first variable new count:4     address:0x1d97930L
544 second variable new count:4     address:0x1d97978L
545 first variable new count:5     address:0x1d97948L
546 first variable new count:5     address:0x1d97948L
547 first variable new count:5     address:0x1d97930L
548 second variable new count:5     address:0x1d97948L
549 first variable new count:6     address:0x1d97930L
550 first variable new count:4     address:0x1d97930L
551 first variable new count:4     address:0x1d97948L
552 second variable new count:4     address:0x1d97930L
553 first variable new count:5     address:0x1d97948L
554 first variable new count:4     address:0x1d97978L
555 second variable new count:4     address:0x1d97930L
556 first variable new count:5     address:0x1d97948L
557 first variable new count:5     address:0x1d97948L
558 first variable new count:5     address:0x1d97978L
559 second variable new count:5     address:0x1d97948L
560 first variable new count:6     address:0x1d97978L
561 first variable new count:4     address:0x1d97990L
562 second variable new count:4     address:0x1d97930L
563 first variable new count:5     address:0x1d97978L
564 first variable new count:5     address:0x1d97948L
565 second variable new count:5     address:0x1d97978L
566 first variable new count:6     address:0x1d97948L
567 first variable new count:5     address:0x1d97948L
568 first variable new count:5     address:0x1d97978L
569 second variable new count:5     address:0x1d97948L
570 first variable new count:6     address:0x1d97978L
571 first variable new count:5     address:0x1d97990L
572 second variable new count:5     address:0x1d97948L
573 first variable new count:6     address:0x1d97978L
574 first variable new count:6     address:0x1d97978L
575 first variable new count:6     address:0x1d97990L
576 second variable new count:6     address:0x1d97978L
577 first variable new count:7     address:0x1d97990L
578 first variable new count:2     address:0x1d97990L
579 first variable new count:2     address:0x1d97978L
580 second variable new count:2     address:0x1d97990L
581 first variable new count:3     address:0x1d97978L
582 first variable new count:2     address:0x1d97948L
583 second variable new count:2     address:0x1d97990L
584 first variable new count:3     address:0x1d97978L
585 first variable new count:3     address:0x1d97978L
586 first variable new count:3     address:0x1d97948L
587 second variable new count:3     address:0x1d97978L
588 first variable new count:4     address:0x1d97948L
589 first variable new count:2     address:0x1d97930L
590 second variable new count:2     address:0x1d97990L
591 first variable new count:3     address:0x1d97948L
592 first variable new count:3     address:0x1d97978L
593 second variable new count:3     address:0x1d97948L
594 first variable new count:4     address:0x1d97978L
595 first variable new count:3     address:0x1d97978L
596 first variable new count:3     address:0x1d97948L
597 second variable new count:3     address:0x1d97978L
598 first variable new count:4     address:0x1d97948L
599 first variable new count:3     address:0x1d97930L
600 second variable new count:3     address:0x1d97978L
601 first variable new count:4     address:0x1d97948L
602 first variable new count:4     address:0x1d97948L
603 first variable new count:4     address:0x1d97930L
604 second variable new count:4     address:0x1d97948L
605 first variable new count:5     address:0x1d97930L
606 first variable new count:2     address:0x1d97918L
607 second variable new count:2     address:0x1d97990L
608 first variable new count:3     address:0x1d97930L
609 first variable new count:3     address:0x1d97948L
610 second variable new count:3     address:0x1d97930L
611 first variable new count:4     address:0x1d97948L
612 first variable new count:3     address:0x1d97978L
613 second variable new count:3     address:0x1d97930L
614 first variable new count:4     address:0x1d97948L
615 first variable new count:4     address:0x1d97948L
616 first variable new count:4     address:0x1d97978L
617 second variable new count:4     address:0x1d97948L
618 first variable new count:5     address:0x1d97978L
619 first variable new count:3     address:0x1d97978L
620 first variable new count:3     address:0x1d97948L
621 second variable new count:3     address:0x1d97978L
622 first variable new count:4     address:0x1d97948L
623 first variable new count:3     address:0x1d97930L
624 second variable new count:3     address:0x1d97978L
625 first variable new count:4     address:0x1d97948L
626 first variable new count:4     address:0x1d97948L
627 first variable new count:4     address:0x1d97930L
628 second variable new count:4     address:0x1d97948L
629 first variable new count:5     address:0x1d97930L
630 first variable new count:3     address:0x1d97918L
631 second variable new count:3     address:0x1d97978L
632 first variable new count:4     address:0x1d97930L
633 first variable new count:4     address:0x1d97948L
634 second variable new count:4     address:0x1d97930L
635 first variable new count:5     address:0x1d97948L
636 first variable new count:4     address:0x1d97948L
637 first variable new count:4     address:0x1d97930L
638 second variable new count:4     address:0x1d97948L
639 first variable new count:5     address:0x1d97930L
640 first variable new count:4     address:0x1d97918L
641 second variable new count:4     address:0x1d97948L
642 first variable new count:5     address:0x1d97930L
643 first variable new count:5     address:0x1d97930L
644 first variable new count:5     address:0x1d97918L
645 second variable new count:5     address:0x1d97930L
646 first variable new count:6     address:0x1d97918L
647 first variable new count:2     address:0x1d97900L
648 second variable new count:2     address:0x1d97990L
649 first variable new count:3     address:0x1d97918L
650 first variable new count:3     address:0x1d97930L
651 second variable new count:3     address:0x1d97918L
652 first variable new count:4     address:0x1d97930L
653 first variable new count:3     address:0x1d97948L
654 second variable new count:3     address:0x1d97918L
655 first variable new count:4     address:0x1d97930L
656 first variable new count:4     address:0x1d97930L
657 first variable new count:4     address:0x1d97948L
658 second variable new count:4     address:0x1d97930L
659 first variable new count:5     address:0x1d97948L
660 first variable new count:3     address:0x1d97978L
661 second variable new count:3     address:0x1d97918L
662 first variable new count:4     address:0x1d97948L
663 first variable new count:4     address:0x1d97930L
664 second variable new count:4     address:0x1d97948L
665 first variable new count:5     address:0x1d97930L
666 first variable new count:4     address:0x1d97930L
667 first variable new count:4     address:0x1d97948L
668 second variable new count:4     address:0x1d97930L
669 first variable new count:5     address:0x1d97948L
670 first variable new count:4     address:0x1d97978L
671 second variable new count:4     address:0x1d97930L
672 first variable new count:5     address:0x1d97948L
673 first variable new count:5     address:0x1d97948L
674 first variable new count:5     address:0x1d97978L
675 second variable new count:5     address:0x1d97948L
676 first variable new count:6     address:0x1d97978L
677 first variable new count:3     address:0x1d97978L
678 first variable new count:3     address:0x1d97948L
679 second variable new count:3     address:0x1d97978L
680 first variable new count:4     address:0x1d97948L
681 first variable new count:3     address:0x1d97930L
682 second variable new count:3     address:0x1d97978L
683 first variable new count:4     address:0x1d97948L
684 first variable new count:4     address:0x1d97948L
685 first variable new count:4     address:0x1d97930L
686 second variable new count:4     address:0x1d97948L
687 first variable new count:5     address:0x1d97930L
688 first variable new count:3     address:0x1d97918L
689 second variable new count:3     address:0x1d97978L
690 first variable new count:4     address:0x1d97930L
691 first variable new count:4     address:0x1d97948L
692 second variable new count:4     address:0x1d97930L
693 first variable new count:5     address:0x1d97948L
694 first variable new count:4     address:0x1d97948L
695 first variable new count:4     address:0x1d97930L
696 second variable new count:4     address:0x1d97948L
697 first variable new count:5     address:0x1d97930L
698 first variable new count:4     address:0x1d97918L
699 second variable new count:4     address:0x1d97948L
700 first variable new count:5     address:0x1d97930L
701 first variable new count:5     address:0x1d97930L
702 first variable new count:5     address:0x1d97918L
703 second variable new count:5     address:0x1d97930L
704 first variable new count:6     address:0x1d97918L
705 first variable new count:3     address:0x1d97900L
706 second variable new count:3     address:0x1d97978L
707 first variable new count:4     address:0x1d97918L
708 first variable new count:4     address:0x1d97930L
709 second variable new count:4     address:0x1d97918L
710 first variable new count:5     address:0x1d97930L
711 first variable new count:4     address:0x1d97948L
712 second variable new count:4     address:0x1d97918L
713 first variable new count:5     address:0x1d97930L
714 first variable new count:5     address:0x1d97930L
715 first variable new count:5     address:0x1d97948L
716 second variable new count:5     address:0x1d97930L
717 first variable new count:6     address:0x1d97948L
718 first variable new count:4     address:0x1d97948L
719 first variable new count:4     address:0x1d97930L
720 second variable new count:4     address:0x1d97948L
721 first variable new count:5     address:0x1d97930L
722 first variable new count:4     address:0x1d97918L
723 second variable new count:4     address:0x1d97948L
724 first variable new count:5     address:0x1d97930L
725 first variable new count:5     address:0x1d97930L
726 first variable new count:5     address:0x1d97918L
727 second variable new count:5     address:0x1d97930L
728 first variable new count:6     address:0x1d97918L
729 first variable new count:4     address:0x1d97900L
730 second variable new count:4     address:0x1d97948L
731 first variable new count:5     address:0x1d97918L
732 first variable new count:5     address:0x1d97930L
733 second variable new count:5     address:0x1d97918L
734 first variable new count:6     address:0x1d97930L
735 first variable new count:5     address:0x1d97930L
736 first variable new count:5     address:0x1d97918L
737 second variable new count:5     address:0x1d97930L
738 first variable new count:6     address:0x1d97918L
739 first variable new count:5     address:0x1d97900L
740 second variable new count:5     address:0x1d97930L
741 first variable new count:6     address:0x1d97918L
742 first variable new count:6     address:0x1d97918L
743 first variable new count:6     address:0x1d97900L
744 second variable new count:6     address:0x1d97918L
745 first variable new count:7     address:0x1d97900L
746 first variable new count:2     address:0x1d978e8L
747 second variable new count:2     address:0x1d97990L
748 first variable new count:3     address:0x1d97900L
749 first variable new count:3     address:0x1d97918L
750 second variable new count:3     address:0x1d97900L
751 first variable new count:4     address:0x1d97918L
752 first variable new count:3     address:0x1d97930L
753 second variable new count:3     address:0x1d97900L
754 first variable new count:4     address:0x1d97918L
755 first variable new count:4     address:0x1d97918L
756 first variable new count:4     address:0x1d97930L
757 second variable new count:4     address:0x1d97918L
758 first variable new count:5     address:0x1d97930L
759 first variable new count:3     address:0x1d97948L
760 second variable new count:3     address:0x1d97900L
761 first variable new count:4     address:0x1d97930L
762 first variable new count:4     address:0x1d97918L
763 second variable new count:4     address:0x1d97930L
764 first variable new count:5     address:0x1d97918L
765 first variable new count:4     address:0x1d97918L
766 first variable new count:4     address:0x1d97930L
767 second variable new count:4     address:0x1d97918L
768 first variable new count:5     address:0x1d97930L
769 first variable new count:4     address:0x1d97948L
770 second variable new count:4     address:0x1d97918L
771 first variable new count:5     address:0x1d97930L
772 first variable new count:5     address:0x1d97930L
773 first variable new count:5     address:0x1d97948L
774 second variable new count:5     address:0x1d97930L
775 first variable new count:6     address:0x1d97948L
776 first variable new count:3     address:0x1d97978L
777 second variable new count:3     address:0x1d97900L
778 first variable new count:4     address:0x1d97948L
779 first variable new count:4     address:0x1d97930L
780 second variable new count:4     address:0x1d97948L
781 first variable new count:5     address:0x1d97930L
782 first variable new count:4     address:0x1d97918L
783 second variable new count:4     address:0x1d97948L
784 first variable new count:5     address:0x1d97930L
785 first variable new count:5     address:0x1d97930L
786 first variable new count:5     address:0x1d97918L
787 second variable new count:5     address:0x1d97930L
788 first variable new count:6     address:0x1d97918L
789 first variable new count:4     address:0x1d97918L
790 first variable new count:4     address:0x1d97930L
791 second variable new count:4     address:0x1d97918L
792 first variable new count:5     address:0x1d97930L
793 first variable new count:4     address:0x1d97948L
794 second variable new count:4     address:0x1d97918L
795 first variable new count:5     address:0x1d97930L
796 first variable new count:5     address:0x1d97930L
797 first variable new count:5     address:0x1d97948L
798 second variable new count:5     address:0x1d97930L
799 first variable new count:6     address:0x1d97948L
800 first variable new count:4     address:0x1d97978L
801 second variable new count:4     address:0x1d97918L
802 first variable new count:5     address:0x1d97948L
803 first variable new count:5     address:0x1d97930L
804 second variable new count:5     address:0x1d97948L
805 first variable new count:6     address:0x1d97930L
806 first variable new count:5     address:0x1d97930L
807 first variable new count:5     address:0x1d97948L
808 second variable new count:5     address:0x1d97930L
809 first variable new count:6     address:0x1d97948L
810 first variable new count:5     address:0x1d97978L
811 second variable new count:5     address:0x1d97930L
812 first variable new count:6     address:0x1d97948L
813 first variable new count:6     address:0x1d97948L
814 first variable new count:6     address:0x1d97978L
815 second variable new count:6     address:0x1d97948L
816 first variable new count:7     address:0x1d97978L
817 first variable new count:3     address:0x1d97978L
818 first variable new count:3     address:0x1d97948L
819 second variable new count:3     address:0x1d97978L
820 first variable new count:4     address:0x1d97948L
821 first variable new count:3     address:0x1d97930L
822 second variable new count:3     address:0x1d97978L
823 first variable new count:4     address:0x1d97948L
824 first variable new count:4     address:0x1d97948L
825 first variable new count:4     address:0x1d97930L
826 second variable new count:4     address:0x1d97948L
827 first variable new count:5     address:0x1d97930L
828 first variable new count:3     address:0x1d97918L
829 second variable new count:3     address:0x1d97978L
830 first variable new count:4     address:0x1d97930L
831 first variable new count:4     address:0x1d97948L
832 second variable new count:4     address:0x1d97930L
833 first variable new count:5     address:0x1d97948L
834 first variable new count:4     address:0x1d97948L
835 first variable new count:4     address:0x1d97930L
836 second variable new count:4     address:0x1d97948L
837 first variable new count:5     address:0x1d97930L
838 first variable new count:4     address:0x1d97918L
839 second variable new count:4     address:0x1d97948L
840 first variable new count:5     address:0x1d97930L
841 first variable new count:5     address:0x1d97930L
842 first variable new count:5     address:0x1d97918L
843 second variable new count:5     address:0x1d97930L
844 first variable new count:6     address:0x1d97918L
845 first variable new count:3     address:0x1d97900L
846 second variable new count:3     address:0x1d97978L
847 first variable new count:4     address:0x1d97918L
848 first variable new count:4     address:0x1d97930L
849 second variable new count:4     address:0x1d97918L
850 first variable new count:5     address:0x1d97930L
851 first variable new count:4     address:0x1d97948L
852 second variable new count:4     address:0x1d97918L
853 first variable new count:5     address:0x1d97930L
854 first variable new count:5     address:0x1d97930L
855 first variable new count:5     address:0x1d97948L
856 second variable new count:5     address:0x1d97930L
857 first variable new count:6     address:0x1d97948L
858 first variable new count:4     address:0x1d97948L
859 first variable new count:4     address:0x1d97930L
860 second variable new count:4     address:0x1d97948L
861 first variable new count:5     address:0x1d97930L
862 first variable new count:4     address:0x1d97918L
863 second variable new count:4     address:0x1d97948L
864 first variable new count:5     address:0x1d97930L
865 first variable new count:5     address:0x1d97930L
866 first variable new count:5     address:0x1d97918L
867 second variable new count:5     address:0x1d97930L
868 first variable new count:6     address:0x1d97918L
869 first variable new count:4     address:0x1d97900L
870 second variable new count:4     address:0x1d97948L
871 first variable new count:5     address:0x1d97918L
872 first variable new count:5     address:0x1d97930L
873 second variable new count:5     address:0x1d97918L
874 first variable new count:6     address:0x1d97930L
875 first variable new count:5     address:0x1d97930L
876 first variable new count:5     address:0x1d97918L
877 second variable new count:5     address:0x1d97930L
878 first variable new count:6     address:0x1d97918L
879 first variable new count:5     address:0x1d97900L
880 second variable new count:5     address:0x1d97930L
881 first variable new count:6     address:0x1d97918L
882 first variable new count:6     address:0x1d97918L
883 first variable new count:6     address:0x1d97900L
884 second variable new count:6     address:0x1d97918L
885 first variable new count:7     address:0x1d97900L
886 first variable new count:3     address:0x1d978e8L
887 second variable new count:3     address:0x1d97978L
888 first variable new count:4     address:0x1d97900L
889 first variable new count:4     address:0x1d97918L
890 second variable new count:4     address:0x1d97900L
891 first variable new count:5     address:0x1d97918L
892 first variable new count:4     address:0x1d97930L
893 second variable new count:4     address:0x1d97900L
894 first variable new count:5     address:0x1d97918L
895 first variable new count:5     address:0x1d97918L
896 first variable new count:5     address:0x1d97930L
897 second variable new count:5     address:0x1d97918L
898 first variable new count:6     address:0x1d97930L
899 first variable new count:4     address:0x1d97948L
900 second variable new count:4     address:0x1d97900L
901 first variable new count:5     address:0x1d97930L
902 first variable new count:5     address:0x1d97918L
903 second variable new count:5     address:0x1d97930L
904 first variable new count:6     address:0x1d97918L
905 first variable new count:5     address:0x1d97918L
906 first variable new count:5     address:0x1d97930L
907 second variable new count:5     address:0x1d97918L
908 first variable new count:6     address:0x1d97930L
909 first variable new count:5     address:0x1d97948L
910 second variable new count:5     address:0x1d97918L
911 first variable new count:6     address:0x1d97930L
912 first variable new count:6     address:0x1d97930L
913 first variable new count:6     address:0x1d97948L
914 second variable new count:6     address:0x1d97930L
915 first variable new count:7     address:0x1d97948L
916 first variable new count:4     address:0x1d97948L
917 first variable new count:4     address:0x1d97930L
918 second variable new count:4     address:0x1d97948L
919 first variable new count:5     address:0x1d97930L
920 first variable new count:4     address:0x1d97918L
921 second variable new count:4     address:0x1d97948L
922 first variable new count:5     address:0x1d97930L
923 first variable new count:5     address:0x1d97930L
924 first variable new count:5     address:0x1d97918L
925 second variable new count:5     address:0x1d97930L
926 first variable new count:6     address:0x1d97918L
927 first variable new count:4     address:0x1d97900L
928 second variable new count:4     address:0x1d97948L
929 first variable new count:5     address:0x1d97918L
930 first variable new count:5     address:0x1d97930L
931 second variable new count:5     address:0x1d97918L
932 first variable new count:6     address:0x1d97930L
933 first variable new count:5     address:0x1d97930L
934 first variable new count:5     address:0x1d97918L
935 second variable new count:5     address:0x1d97930L
936 first variable new count:6     address:0x1d97918L
937 first variable new count:5     address:0x1d97900L
938 second variable new count:5     address:0x1d97930L
939 first variable new count:6     address:0x1d97918L
940 first variable new count:6     address:0x1d97918L
941 first variable new count:6     address:0x1d97900L
942 second variable new count:6     address:0x1d97918L
943 first variable new count:7     address:0x1d97900L
944 first variable new count:4     address:0x1d978e8L
945 second variable new count:4     address:0x1d97948L
946 first variable new count:5     address:0x1d97900L
947 first variable new count:5     address:0x1d97918L
948 second variable new count:5     address:0x1d97900L
949 first variable new count:6     address:0x1d97918L
950 first variable new count:5     address:0x1d97930L
951 second variable new count:5     address:0x1d97900L
952 first variable new count:6     address:0x1d97918L
953 first variable new count:6     address:0x1d97918L
954 first variable new count:6     address:0x1d97930L
955 second variable new count:6     address:0x1d97918L
956 first variable new count:7     address:0x1d97930L
957 first variable new count:5     address:0x1d97930L
958 first variable new count:5     address:0x1d97918L
959 second variable new count:5     address:0x1d97930L
960 first variable new count:6     address:0x1d97918L
961 first variable new count:5     address:0x1d97900L
962 second variable new count:5     address:0x1d97930L
963 first variable new count:6     address:0x1d97918L
964 first variable new count:6     address:0x1d97918L
965 first variable new count:6     address:0x1d97900L
966 second variable new count:6     address:0x1d97918L
967 first variable new count:7     address:0x1d97900L
968 first variable new count:5     address:0x1d978e8L
969 second variable new count:5     address:0x1d97930L
970 first variable new count:6     address:0x1d97900L
971 first variable new count:6     address:0x1d97918L
972 second variable new count:6     address:0x1d97900L
973 first variable new count:7     address:0x1d97918L
974 first variable new count:6     address:0x1d97918L
975 first variable new count:6     address:0x1d97900L
976 second variable new count:6     address:0x1d97918L
977 first variable new count:7     address:0x1d97900L
978 first variable new count:6     address:0x1d978e8L
979 second variable new count:6     address:0x1d97918L
980 first variable new count:7     address:0x1d97900L
981 first variable new count:7     address:0x1d97900L
982 first variable new count:7     address:0x1d978e8L
983 second variable new count:7     address:0x1d97900L
984 first variable new count:8     address:0x1d978e8L
985 [9, 8, 7, 6, 5, 3, 2, 1]
View Code

 

從結果看,是對的,棧確實反轉了,可是變量是常量個嗎???ide

  1. 從代碼的33行看,每次判斷棧是否爲空,若是不爲空就彈出棧頂元素,而後進行遞歸調用,直到把棧彈空,每次遞歸調用隨便變量名稱都是「tmp」,可是每次是同一個變量麼,難道只要變量名稱不變,就是一個變量嗎,內存地址每次調用都在變化吧,因此從滿棧到空棧,咱們用了多少次「tmp」這個變量呢?和棧的大小同樣吧,並且這是一個變量,還有tmp2,咱們沒有計算。
  2. 咱們知道這是遞歸調用的函數,函數內的變量是存放在棧空間的,而後linux和windows默認的棧空間其實並不大吧

默認就是這麼大,linux你能夠經過ulimit -a | grep stack 這個命令查看,若是這個要反轉的棧大小爲8M,那麼可能就會出問題吧。函數

綜上所述,我懷疑這個問題是個僞命題,反正至少我沒想到空間複雜度O(1) 就能實現反轉的辦法,若是有大神有辦法請指教或是請下面留言,多謝。spa

 

僅表明我的觀點,若是內容有誤,請留言指出,謝謝。

臨表涕零,不知所言。

 

 

轉載請註明——redbear博客

相關文章
相關標籤/搜索