I wonder how it determines the height to see if it can leap or not.
I would think also it could be engineered to climb the side of the building by simply creating a triangle shape and motoring up the side or with some kind of suction.
I'm thinking just basic geometry and some rangefinders and other sensors. It needs to know how high off the ground its rangefinder is, and how far away the base of the target is. Once it knows that, it's some basic arithmetic to determine the height of its target landing area. Set a trajectory, charge for both the distance and height (and possibly to compensate for wind) and you're done.
There's some implementation subtleties I'm sure, especially considering your launch surface may vary, but that's the gist of it.
I would think also it could be engineered to climb the side of the building by simply creating a triangle shape and motoring up the side or with some kind of suction.