class Solution {
public int numDecodings(String s) {
int n = s.length();
s = " " + s;
char[] cs = s.toCharArray();
int[] f = new int[n + 1];
f[0] = 1;
for (int i = 1; i <= n; i++) {
// a : 代表「当前位置」单独形成 item
// b : 代表「当前位置」与「前一位置」共同形成 item
int a = cs[i] - '0', b = (cs[i - 1] - '0') * 10 + (cs[i] - '0');
// 如果 a 属于有效值,那么 f[i] 可以由 f[i - 1] 转移过来
if (1 <= a && a <= 9) f[i] = f[i - 1];
// 如果 b 属于有效值,那么 f[i] 可以由 f[i - 2] 或者 f[i - 1] & f[i - 2] 转移过来
if (10 <= b && b <= 26) f[i] += f[i - 2];
}
return f[n];
}
}
private static ViewGroup findRootLinearLayout(Context context) {
ViewGroup onlyLinearLayout = null;
try {
Window window = getWindow(context);
if (window != null) {
ViewGroup decorView = (ViewGroup) getWindow(context).getDecorView();
Activity activity = getActivity(context);
View contentView = activity.findViewById(android.R.id.content);
if (contentView != null) {
View tempView = contentView;
while (tempView.getParent() != decorView) {
ViewGroup parent = (ViewGroup) tempView.getParent();
if (parent instanceof LinearLayout) {
//如果style设置了不带toolbar,mContentView上层布局会由原来的 ActionBarOverlayLayout->FitWindowsLinearLayout)
if (parent instanceof FitWindowsLinearLayout) {
tempView = parent;
continue;
} else {
onlyLinearLayout = parent;
break;
}
} else {
tempView = parent;
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return onlyLinearLayout;
}
lc
最新推荐文章于 2024-06-09 08:00:00 发布